プロが教える店舗&オフィスのセキュリティ対策術

VBAでGetSaveAsFilename メソッドを使うと、[名前を付けて保存]ダイアログボックスがでます。
ここでファイル名を指定するのですが、このとき同フォルダ内に同ファイル名があった場合でも、何のメッセージボックスもださずに上書きされてしまいます。

同フォルダ内に同ファイル名があった場合のみ、「上書き保存しますか?」というメッセージボックスをだしたいのですが、どのようにしたらよいでしょうか。

教えてください。
よろしくお願いします。

A 回答 (2件)

ファイル名があるか、について参考コード


Sub test01()
filesavename = Application.GetSaveAsFilename( _
fileFilter:="エクセル ファイル (*.xls), *.xls")
If filesavename <> False Then
MsgBox "保存するファイル :" & filesavename
End If
Set objfs = CreateObject("Scripting.FileSystemobject")
If objfs.fileexists(filesavename) Then
MsgBox filesavename & "存在します"
Else
MsgBox filesavename & "存在しましません"
End If
End Sub
ーー
ただこういうのは必要無いのでは。
チェックしなくても指定ファイル名が既存であると、警告メッセージが出ませんか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2007/10/27 22:58

GetSaveAsFilename メソッドはSaveする機能はありませんよ? あくまでも保存先を選んでくださいというダイアログを表示させて、ファイルのパスを返すだけです(メゾットの名称も日本語訳すれば「保存するためのファイル名を取得する」でしょ?)。


実際にはその後にSaveAsメゾットで保存させるでしょうから、その際にアラートを出さないというような指定をしなければ通常は警告がでるはずですが。

具体的なソースを提示されてみては如何でしょうか。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

お礼日時:2007/10/27 22:56

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A