質問 |
||
QNo.3464216 | ExcelのVBAで上書き保存を確認したい | |
---|---|---|
質問者:A-boy |
VBAでGetSaveAsFilename メソッドを使うと、[名前を付けて保存]ダイアログボックスがでます。 ここでファイル名を指定するのですが、このとき同フォルダ内に同ファイル名があった場合でも、何のメッセージボックスもださずに上書きされてしまいます。 同フォルダ内に同ファイル名があった場合のみ、「上書き保存しますか?」というメッセージボックスをだしたいのですが、どのようにしたらよいでしょうか。 教えてください。 よろしくお願いします。 |
|
困り度:
|
||
質問投稿日時: 07/10/26 23:25 |
回答 |
|
ANo.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 ーー ただこういうのは必要無いのでは。 チェックしなくても指定ファイル名が既存であると、警告メッセージが出ませんか。 |
---|---|
回答者:imogasi | |
種類:アドバイス どんな人:一般人 自信:参考意見 |
|
回答日時: 07/10/27 19:35 |
|
| |
この回答へのお礼 | 回答ありがとうございます。 |
回答 |
|
ANo.1 | GetSaveAsFilename メソッドはSaveする機能はありませんよ? あくまでも保存先を選んでくださいというダイアログを表示させて、ファイルのパスを返すだけです(メゾットの名称も日本語訳すれば「保存するためのファイル名を取得する」でしょ?)。 実際にはその後にSaveAsメゾットで保存させるでしょうから、その際にアラートを出さないというような指定をしなければ通常は警告がでるはずですが。 具体的なソースを提示されてみては如何でしょうか。 |
---|---|
回答者:popesyu | |
種類:補足要求 どんな人:一般人 自信:参考意見 |
|
回答日時: 07/10/27 00:11 |
|
| |
この回答へのお礼 | 回答ありがとうございます。 |