- ベストアンサー
EXCELで同一名のファイルがある場合の「置き換えますか?」メッセージを出さないようにする。
MS EXCELで「123.xls」というファイルがあり、 新規作成で名前を付けて保存で、「123.xls」という名前をつけようとしたとします。 そうすると、「ファイル'123.xls'は既に存在します。既存のファイルを置き換えますか?」というメッセージが表示されます。 このメッセージを表示させる事なく、 強制的に上書き保存するという事は可能なのでしょうか? っというのも私自身は今まで疑問にも思わなかったのですが、 会社の同僚が疑問に思っていて、 私も「どんなことできるの?」と思ったので質問させていただきました。 EXCEL VBAや、他の手段で可能ならば教えて下さい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
手動での操作でしたらそのメッセージを出さなくすることは無理だと思います。 名前を付けて保存を、VBAでやるおつもりなら、その前に Application.DisplayAlerts = False の一行を挿入しておけば、警告は出なくなります。 ただ、そのままでは危険なので、 Application.DisplayAlerts = True を後にかならず入れてもとにもどしておきましょう。
その他の回答 (3)
- mshr1962
- ベストアンサー率39% (7417/18945)
>スケジュール管理を行っているACCESSデータベースにインポートさせたいらしいです。 Accessならそのままエクセルファイルをインポートするなり、リンクでは駄目なのでしょうか?
お礼
No.3さんのアドバイスで無事解決しました。 ACCESSへのインポートするCSVファイルを作成する際に、 毎回出るメッセージを非表示にしたかったらしいです。
- mshr1962
- ベストアンサー率39% (7417/18945)
単純に上書き保存すればいいのでは? 確かにVBAを組めば可能ですが、#1の方のいわれるように 上書きしてはいけないケースの場合も上書きされるので、その時に後悔しても遅いですよ。 最近の質問でこんなのがありました。お探しのものにも使えるVBAのサンプルがあります。 『EXCEL VBA フォームクローズと同時にアプリも終了したい』 http://okwave.jp/kotaeru.php3?q=2032315
補足
何をしたいいのかが分かりました。 仕入一覧.xlsの必要な項目を、 仕入一覧.csvとして編集してから、 スケジュール管理を行っているACCESSデータベースにインポートさせたいらしいです。 仕入一覧.xlsで必要な項目をACCESSインポート用のcsvに変換するというのを数日(もしくは毎日)行うので、 その一連の作業をマクロで組もうとしているらしいです。 そして、ACCESSにインポートするcsvのファイルは、 「仕入一覧.csv」で決まっているのですが、 「仕入一覧.xls」から「仕入一覧.csv」に変換する際に前回作成した「仕入一覧.csv」が残っている為、 毎回警告されるメッセージを非表示にしたいとの事でした。
- p-p
- ベストアンサー率35% (1977/5634)
最初から 『名前を付けて保存でなく』 メニューから『上書き保存』を選択すればよいのではないでしょうか・・ もしも強制的に他のファイルに上書き保存する方法があったら大事なファイルを誤って上書きしたりする危険があるのでは??
補足
私もそう思います。 新規作成したファイルの場合、 元からある123.xlsが違う目的をもって作成されている場合、 そのファイルを消してしまいますからね。 警戒を促しているわけで、このメッセージを出さずに強制的に上書きというのは危険ですよね? 同僚がどういった意図でそのような疑問を抱いているのか、再度確認したいと思います。 私自身は (1)既にあるファイルの場合は、それを開いて編集して上書き保存。 (2)新規の場合はフォルダ内に存在しない名前を付けて保存。 が普通だと思っているので! もしかすると、考えもしませんでしたが、保存方法として「名前を付けて保存」しか知らないのかもしれません。 「上書き保存」の存在を知っているのか確認してみます。
お礼
ありがとうございます。 こちらの方法で実現できました。