アプリ版:「スタンプのみでお礼する」機能のリリースについて

いろいろ調べてみたのですが、思うようなものがありませんでした。
どうかご教授お願いします。
前後に処理かあるのですが、その途中に
「指定する場所に目的のブックがあるかどうかを調べて、存在すれば
そのまま次の処理にすすみ、存在しなければブックを作成する」
というものです。
Ifを使うのかそれとも・・・

A 回答 (3件)

>指定する場所に目的のブックがあるかどうかを



Dir() で可能です。
http://www.officetanaka.net/excel/vba/file/file0 …
    • good
    • 0

if dir(ブック名)="" then


ActiveWorkbook.SaveAs Filename:=ブック名
goto line2
else
end if
といった感じではないでしょうか。
    • good
    • 0

こんばんは。

Wendy02です。

>いろいろ調べてみたのですが、思うようなものがありませんでした。

私の書いたのは、参考になりませんでしたか?
少し、換えていますが、3Way(ブックのないとき,ブックを開いているとき,ブックを開いていないとき)の対応が出来ます。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1937200
(http://okwave.jp/kotaeru.php3?q=1937200)

Sub TestBookOpen()
  Dim Book_A As String
  Dim Book_Ar As String
  Dim BK1 As Workbook
  Dim dummy As Variant
  Dim Sheet_A As String
 
  Book_A = "Book1ABC.xls" 'と置く(パス付き可)
  Sheet_A = "Sheet1"
  'ブック名を取る(パス抜き)
  If InStr(Book_A, "\") > 0 Then
   Book_Ar = Mid$(Book_A, InStrRev(Book_A, "\") + 1)
   Else
   Book_Ar = Book_A
  End If
 
  '最初に、Dir 関数で調べる。
  If Dir(Book_A) = "" Then
   Set BK1 = Workbooks.Add
   BK1.SaveAs Filename:=Book_A
  Else
   'ブックを開いていることを調べる(A1方式の場合)
   dummy = Evaluate("[" & Book_Ar & "]" & Sheet_A & "!A1")
   If IsError(dummy) Then
     '開いていなければ、ブックをOpen
     Set BK1 = Workbooks.Open(Book_A)
     Else
     '開いていれば、そのまま設定
     Set BK1 = Workbooks(Book_Ar)
   End If
  End If
 
  '作業
 
'終了
  Set BK1 = Nothing
End Sub
    • good
    • 0
この回答へのお礼

何度もありがとうございます。
>私の書いたのは、参考になりませんでしたか?

いえいえ、大変参考になりました。本当に感謝しています。
ただ私が手を加えるには少し難しかったです・・・

今回もありがとうございます。
早速使わせて頂きます。

お礼日時:2006/02/08 06:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!