• ベストアンサー

「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/17068)
回答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
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SaveとSaveAsの違いを認識させるには?

    エクセルで、「上書き保存」の時だけ実行したいVBA。 「名前を付けて保存」には実行してほしくないんです。 上書き保存する時は、任意のメッセージを表示する。 YesNo、どちらの回答でも上書き保存は実行されるという内容でVBA作成し、 ThisWorkbookに以下のコードを貼り付けました。 Private Sub Workbook_BeforeSave(ByVal SaveUI As Boolean, Cancel As Boolean) If SaveUI = False Then If MsgBox("日付は記入しましたか?", vbYesNo + vbQuestion) = vbNo Then MsgBox "記入してください。" End If End If End Sub ところが問題が生じました。 単品単位では、上書き時のみ実行してくれる希望通りの動きをしてくれるのですが、 標準モジュールを実行した際、その中にある"SaveAs"に反応して実行されてしまうので困っています。 標準モジュールが絡むとおかしくなるのを回避するにはどうしたらいいでしょうか? BVAは勉強しだしたところです。 よろしくお願いします。

  • SaveAsエラー回避

    こんにちは、 下記の文で、ActiveWorkbook.SaveAs の部分で一度エラーが 起こってしまい処理が中断してしまうのですが、 そこからF5で、再処理を実行したら正常に保存されるという現象が 起こってしまいます。 何か対処方法はないでしょうか。 Application.Calculation = xlCalculationAutomatic '自動計算 ActiveWorkbook.Protect Password:=M_PASSBOOK 'ブック保護 'ファイル保存 ActiveWorkbook.SaveAs Filename:=M_OUTFILENAME & "\(課)" & Mid(M_SECTDY(Ia, 2), 1, Len(M_SECTDY(Ia, 2)) - 3) & "_" & M_SECTDY(Ia, 1) & ".xls" ActiveWorkbook.Close

  • SaveAsの保存先について

    エクセルのマクロのついての質問です よろしくお願いします 現在、下記のようなコードでマクロを実行するとパスワードをつけて上書き保存したような結果になっています(元のファイル名も○○.xlsで、指定したものと同一です) Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="○○.xls", FileFormat:=xlNormal, Password:="1111", WriteResPassword:="2222", ReadOnlyRecommended _ :=False, CreateBackup:=False Application.DisplayAlerts = True 私の目的としてはそれでよいのですが、このように格納先を指定しなかった場合は 必ず元のファイルと同一のフォルダになるってくれるものなのでしょうか? それとも状況によって別なところに名前をつけて保存されてしまったりすることがありますか?

  • Excel マクロのsaveasでファイル保存の方法で教えて下さい

    Excel2003で、USBメモリ上の2つのファイル(マクロを保存したmacro.xls及び作業を行うsagyo.xls)を開き、マクロをかけて、最後にxlsファイル形式で上書き保存したいのですが、 (1)ActiveWorkbook.Save で、上書き保存を行うと、なぜかUSBメモリ上にhtmlファイル保存されてしまいます。このため、xlsファイル形式保存をあえて明示し、saveasの既定値であるxlWorkbookNormalを指定し、 (2)ActiveWorkbook.SaveAs , FileFormat:=xlWorkbookNormal とすると、(カレントフォルダである)マイドキュメントに保存されてしまいます。 Q1.(1)のようになる原因は何でしょうか? Q2.USBメモリは、他のPC環境でも使うので、「saveas "F:\sagyo.xls"」などとドライブ指定せずに使いたいのですが、USBメモリ上に上書き保存するマクロの書き方はないでしょうか?

  • SaveAsメソッドについて

    いつもお世話になっております。 Accessから抽出したデータをVBAを使って、Excelファイル として保存しています。 ExWorkSheet.SaveAs "ファイルパス" として保存しているのですが、上書き確認のダイアログ が表示されたときに、「いいえ」を押すと 「SaveAsメソッドは失敗しました」とエラーがでて しまいます。 エラー処理の書き方を調べているのですが、 よくわかりません。 ご存知のかた、どうかよろしくお願いいたします。

  • EXCEL VBA SaveAsメソッドについて

    お世話になります。 現在、ネットワーク内の2サーバー間でvbsを使用してExcelピボットを更新して別名で保存する処理 を作成しています。この時、Server1からExcelマクロ実行用のvbsをキックしてServer2のExcel マクロ内のSaveAsメソッドを実行してExcelを別名で保存すると、 作成されるべきファイルと拡張子無しの16進数のようなファイル名のファイルが2つ出来上がってしまいます。 Excelのバージョンは2003でServer2のExcelマクロを手動で実行した場合はこのようなことは発生しませんでした。 どなたか原因がわかる方がいればご教示いただきたく存じます。 何卒よろしくお願いいたします。

  • VBAでSaveAs使用し、指定していないのにデスクトップに保存される理由

    VBAで構文中に ActiveWorkbook.SaveAs FileFormat:=xlCSV, _ CreateBackup:=False という記述をしました。すると、保存場所を指定していないのにデスクトップに保存されてしまいます。まず、なぜでしょうか?また、保存場所の指定はどのようにすればよいでしょうか?

  • ExcelのVBAでブックの保存

    ExcelのVBAでブックを追加し保存を行っています。 その際、保存は、どこに行うのがよいのですか bookですか。sheetですか。 両方で、SaveAsができまが、使い分けがあるのでしょうか。 どのように使い分けするのでしょうか。 Workbooks.Add ActiveSheet.Name = "サンプル" ActiveSheet.SaveAs OutFileName ActiveWorkbook.SaveAs OutFileName ActiveWorkbook.Close

  • マクロVBA特定フォルダーに次々に自動保存する方法

    マクロ初心者です。教えて下さい。 ループでお客様のコードが入力されている限りデータを作成するマクロを作っています。 現在の状態は いちいちファイルを付けて保存のメッセージボックスで「保存」としなければなりません。 AAAのフォルダーに作成されたデータを次々に保存していくにはどうしたら良いですか? (メッセージBOXを出さずに) マクロ実行したら、何もしなくてもAAAフォルダーに全て保存されている状態にしたいです。 宜しくお願い致します。 '名前を付け保存するファイル名の初期設定 Dim Save_File, Save_Filename As String Save_Filename = Sheets("企業別金額サマリ").Range("A3").Value & " 販売実績(5月).xls" '「名前を付けて保存する」ダイアログボックスの表示 Save_File = Application.GetSaveAsFilename(Save_Filename, _ FileFilter:="Excelファイル,*.xls,すべてのファイル,*.*") '名前を付けて保存する ActiveWorkbook.SaveAs Filename:= _ Save_File, FileFormat:=xlNormal, _ Password:="mpd", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False

  • 開いているエクセルを上書き保存するマクロがしりたいのですが

    開いているエクセルを上書き保存するマクロがしりたいのですが 単純に ActiveWorkbook.Save ActiveWorkbook.Close では ウィンドウだけ閉じてエクセルの画面は残ってしまいます  どうしたら 全て閉じるのか知りたいのですが、よろしくお願いします。

このQ&Aのポイント
  • チャットサイトで知り合った人がストーカーになり、困っています。この記事では、ストーカー被害に遭った経験や専門的な見解についてご紹介します。
  • チャットサイトで知り合った男性がストーカー行為を行っており、対処に困っています。ストーカー被害の心理や対策方法、専門家の意見について解説します。
  • チャットサイトで知り合った人がストーカー化し、日常生活に困っています。ストーカー被害の実例や対策についてまとめました。専門家のアドバイスも紹介します。
回答を見る

専門家に質問してみよう