こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCEL VBAで名前をつけて保存

EXCEL2003でVBAを作成しています。

INPUTBOXに入力した名前でファイルを保存するVBAを
作成したのですが、
同じファイル名が既に存在していたときに、
エラーのメッセージを出すようなVBAはありますか?

投稿日時 - 2004-09-09 01:08:38

QNo.994452

すぐに回答ほしいです

質問者が選んだベストアンサー

下のようなVBAでファイルの有り無しを判断したらどうですか?

Sub arinasi()
  Dim buf As String
  buf = Dir("c:\My Documents\test.txt")
  If buf = "" Then
   MsgBox "ファイルはありません"
  Else
   MsgBox buf & "はすでにあります"
  End If
End Sub

("c:\My Documents\test.txt")の部分はインプットボックスで取得したファイル名になります。

投稿日時 - 2004-09-09 01:32:45

お礼

ご回答ありがとうございます。
これで試してみようと思います。

投稿日時 - 2004-09-11 23:19:16

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

普通に SaveAs で聞いてきませんか?
こちらで試したのはExcel97だけど、、、

Sub Test()
Dim fName
 fName = Application.GetSaveAsFilename( _
     fileFilter:="ExcelFile (*.xls), *.xls")
 If fName <> False Then
   On Error Resume Next
   ActiveWorkbook.SaveAs fName
 End If
End Sub

投稿日時 - 2004-09-09 07:51:03

お礼

ご回答ありがとうございます。
これで試してみようと思います。

投稿日時 - 2004-09-11 23:19:32

ANo.1

>エラーのメッセージを出すようなVBAはありますか?

保存するまえに、ファイルの有無をチェックすればよいかと思います。

FileLen("ファイル名")
でファイルサイズを調べて、ERRORだったらファイルが無いと判定すればよいかと思います。

ファイルがあれば、エラーメッセージ
ファイルが無ければ、保存する。

投稿日時 - 2004-09-09 01:17:46

お礼

ご回答ありがとうございます。
具体的なモジュールの書き方が知りたかったので・・・。

投稿日時 - 2004-09-11 23:18:38

あなたにオススメの質問