OKWaveコミュニティー

ExcelのVBAで上書き保存を確認したい


新規ユーザー登録(無料)今すぐ登録しよう!!
はじめての方へ OKWaveではこんなことができます!

転職成功者続出!転職ならen!
人生をよくする就職!就職はen!
毎日情報更新!アルバイトならen!
特集
04/21、おちまさとプロデュース企画開始!
誉めて誉めて誉めまくる!あなたも『ホメラニアン』として活躍を! 誉め上手な回答者たちの選手権
教えて!北京五輪
まもなく開催の北京五輪、気になる疑問はここで解決!著名人の特別インタビューも注目!
「OKWave」を守るのは君だ!
Q&Aコミュニティサイト「OKWave」の運営スタッフを募集しています。

質問

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
この回答へのお礼回答ありがとうございます。
最新から表示回答順に表示