• ベストアンサー

「Save」と「SaveAs」の違い

エクセル2003です。 ・ActiveWorkbook.Save ・ActiveWorkbook.SaveAs このふたつは何が違うのでしょうか? どちらのコードを実行しても保存されます。 ヘルプを見てもよくわかりませんでした。 違いがわかる方ご回答よろしくお願いします。

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

  • ベストアンサー
回答No.1

一般的なメソッドの命名としては。 Save は、保存。 ActiveWorkbookが保持するプロパティのまま、とにかく保存します。 SaveAs は、別な名前をつけて保存。 蛇足ですが。 一般的な Windows アプリケーションだと。 SaveAs に、ダイアログが開くコードを実装してある場合、保存しようとしているファイルと、同じ名前のファイルがある場合、「上書きしますか?」のような確認ダイアログがでます。 Save では、上書きの確認などは実装されていないのが一般的です。 Excelも一応それに習っている物と思います。

bkfirj
質問者

お礼

SaveAsは上書き保存ですね! ありがとうございます。

その他の回答 (2)

回答No.3

>SaveAsは上書き保存ですね! いえ、そういう言い方をするならば、 Save のほうが、上書き保存です。 SaveAs は、名前をつけて保存です。 英語で save as nnn とあったなら nnn として save する という意味になるかと思います。 そのように覚えましょう。 Windowsアプリケーションで、SaveAsで既存のファイル名を指定するなどして、「上書き保存しますか?」の問い合わせをすることがガイドラインになっているのは、SaveAsを用いたにもかかわらず、同じ名前で保存されてしまう事への問い合わせをユーザーに確認する必要があるからです。 Save のほうは、同名のファイルが存在しても、ユーザーに問い合わせる必要は有りません。 ただし、Saveのほうも初回の保存などの場合には、初めてなので名前を指定するダイアログなどが実装されます。

bkfirj
質問者

お礼

逆でしたね。 ご指摘ありがとうございます。参考になりました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

http://msdn.microsoft.com/ja-jp/library/aa288628(VS.71).aspx などGoogleで「savas excel」「SaveAs」「save VBA」で照会すればたくさん記事が出ます。 それを読んでみましたか。この質問の回答と文章と言う点で変わらないのではないですか。実際に2つ(実際はSaveAsの方)をやってみて、徐々に体験するほかないでしょう。 上記から >SaveAs は Save メソッドより複雑です。SaveAs メソッドを使用すると、オプションで名前、ファイル形式、パスワード、アクセス モードなどを指定して、指定したブックを保存できます。次のコードは、作業中のブックを指定された場所に XML 形式で保存します。 この辺が標準の説明でしょう。 http://officetanaka.net/excel/vba/file/file03.htm http://homepage2.nifty.com/kasayan/vba/excel7.htm なども読んでおいたら。

bkfirj
質問者

お礼

ちゃんと読んでみます。 ありがとうございます。