• ベストアンサー

同名ファイルの上書き確認ダイアログを表示させない方法(Excel97VBA)

あるディレクトリに、既存のファイル名と同じ名前を付けて新しく保存しようとすると、上書きの確認ダイアログがでます。 このダイアログを出させずに、無条件で上書きするにはどのようにすればいいのでしょうか? 現在、“Application.AlertBeforeOverwrite = False”として、その次の行に“ActiveWorkbook.SaveAs FileName:="なまえ.xls"としています。 もちろん、保存先のディレクトリには「なまえ.xls」というファイルが存在します。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

SaveAs の前に  Application.DisplayAlerts = False を追加したらどうでしょうか。確認メッセージを表示しないようにします。今使っているのはExcel2000ですがExcel97も同じでしょう。 ところで、Application.AlertBeforeOverwrite = False は?ですね。不勉強で余りみたことが無いですね。 もしかしてAlertBeforeOverwriting(これもExcel2000です。97は?)なら、ドラッグ アンド ドロップ編集中に上書きする場合、警告メッセージを出すかださない選択する時に使うんですが・・・

noname#1997
質問者

お礼

DisplayAlertsですね。(^^ゞ AlertBeforeOverwriteはおっしゃる通りでした。 ありがとうございました。

その他の回答 (2)

回答No.3

2つの方法を 1つ目 Kill コピー先ファイル名 でコピー先のファイルを消してしまう 2つ目 Application.DisplayAlerts = False で確認メッセージの表示を中止する (これが含まれるプロシージャ内有効) 解除=True 下記より引用 株式会社秀和システム Excel2000VBA実践プログラミング

noname#1997
質問者

お礼

ありがとうございました。

  • tailkuppa
  • ベストアンサー率53% (52/98)
回答No.1

Dir かなんかであらかじめ同名のファイルがあるかをチェックして、あったら先に削除またはリネームしてしまうっていう方法はどうでしょう? もっといい方法はありそうですけど、とりあえず自分はこの手でしのぎました。 該当するファイルが他で使用中だとこの手は使えないと思いますけど。

関連するQ&A