• ベストアンサー

VBAのSAVEASメソッド

こんにちわ。 ACCESS2000のVBAでEXCEL2000ファイルを操作していますが, ファイルを上書きする「.SaveAsメソッド」を実行したとき, 「ファイルを上書きしますか?-はい/いいえ/キャンセル」という ダイアログが表示されます。 このダイアログを表示せずに強制的に上書き保存したいのですが, どのようにすればよいでしょうか? 教えてください。お願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

エクセルオブジェクトのDisplayAlerts プロパティをFalse にセットすると抑止されます。 obj.DisplayAlerts = False または、 obj.Application.DisplayAlerts = False

tatsurou
質問者

お礼

BLUEPIXYさん 回答ありがとうございます。 説明して頂いた方法でうまくできました。

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

Application.DisplayAlerts = False '保存 Application.DisplayAlerts = True って方法もあるけど、 .Saved = True http://www.officetanaka.net/excel/vba/file/file05.htm

tatsurou
質問者

お礼

hana-hana3さん 回答ありがとうございます。 説明して頂いた方法でうまくできました。

関連するQ&A

  • 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について

    Dell Dimention8300 HDD 80GB (空き領域 17.4GB) Pentium4 2.6GHz 512MB RAM Windows XP Pro/エクセル2002使用です。 エクセルVBAで下記のようファイルを追加するようにしました。 ブックA(.xls) 147KB ブックB(.xls) 18KB ブックC(.xls) 7,955KB ブックAにマクロを記述 ブックBから新しいファイルをつくる個数を取得 略 for i = 1 to (新しく作る個数)  Workbooks("ファイルC").Activate  ActiveWorkbook.SaveAs FileName:="C:\・・・・・・(新ファイル名)" next 略 ファイルCをメソッドSaveAsにて新しいファイルを作っていくのですが、その個数が数十個程度あれば問題ないのですが、100個を越えると非常に遅くなるか、途中でプログラムの応答がなくなります。 メソッドSaveAsが、CPUかメモリを浪費しているのかと思うのですが、関係あるでしょうか? よろしくお願いします。

  • 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は勉強しだしたところです。 よろしくお願いします。

  • エクセルVBAについて

    エクセルVBAの名前を付けて保存について質問です。 名前を付けて保存するとき、保存先に同じ名前のファイルがあると 「この場所に○○というファイルがありますが置き換えますか?」 と表示され「いいえ」もしくは「キャンセル」を選択すると実行時 エラーが表示されます。 キャンセルしてもエラーが出ないような構文を書きたいのですが わかりません。 もし知っている方がいるようでしたら教えてください。 Dim MySavePath As String MySavePath = Application.GetSaveAsFilename(Date, "Excel ファイル (*.xls), *.xls") If MySavePath <> "False" Then ThisWorkbook.SaveAs MySavePath & ".xls" End If

  • Excel VBA で困っています。

    Excel VBA で困っています。 下記のプログラムで、「名前を付けて保存」→「キャンセル」 を選択した場合のエラーは回避できたのですが、 「名前を付けて保存」→「保存」→「同じ名前のファイルが既に ありますが置き換えますか?」→「いいえ(またはキャンセル)」 の時にエラーが出てしまいます。 どう直したら良いでしょうか。 よろしくお願いいたします。 Public Sub SaveBook() Dim myBook As Variant '「名前を付けて保存」ダイアログ myBook = Application.GetSaveAsFilename("test.xls", _ "Excelファイル,*.xls", , "Excelブックを保存") 'キャンセル時の処理 If StrConv(myBook, vbUpperCase) = "FALSE" Then Exit Sub 'ブックの保存 ActiveWorkbook.SaveAs Filename:=myBook End Sub

  • 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メモリ上に上書き保存するマクロの書き方はないでしょうか?

  • VBA 新規作成したファイルを開くときにエラー

    すみません、助けてください。 Excel 2007のVBAでActiveWorkbook.SaveAsを使って 新規にExcelファイルを生成するものを作成しているのですが、 新たに作成したExcelファイルを開くときにエラー(警告)が出てしまいます。 (ファイル自体は開けるのですが。。。) ソースは以下です。 ------------------------------------------------------------ ' シート枚数を指定 Application.SheetsInNewWorkbook = 3 Workbooks.Add ' 上書き保存 Application.DisplayAlerts = False ' ファイル名を指定して保存 ActiveWorkbook.SaveAs (ThisWorkbook.Path + "\" + "新しいファイル.xls")

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

    VBAでGetSaveAsFilename メソッドを使うと、[名前を付けて保存]ダイアログボックスがでます。 ここでファイル名を指定するのですが、このとき同フォルダ内に同ファイル名があった場合でも、何のメッセージボックスもださずに上書きされてしまいます。 同フォルダ内に同ファイル名があった場合のみ、「上書き保存しますか?」というメッセージボックスをだしたいのですが、どのようにしたらよいでしょうか。 教えてください。 よろしくお願いします。

  • VBScriptでのSaveAsについて

    現在、私は「VBScript」を学習中です。 練習に、VBScriptで任意のフォルダにあるすべてのWordのファイルをテキストファイルに保存する簡単なプログラムを作りました。 それは作れたのですが、SaveAsでテキスト保存するときに、 w.SaveAs "xyz.txt", 2 というように、「2」を指定することはいろいろなサイトでわかったものの、それでは他の場合の「一覧」というのがどうしても見つかりません。 Microsoftのサイトでも、「VBA」の場合、「olDoc, olTXT…」などと載っていますが、「VBScript」での使用例がその下に載っているものの、「VBA」の「olDoc」がVBScriptではどの数字を指定するのかなど、一切記載がありません。 どなたか、「VBScript」で「SaveAs」利用時の引数の一覧が掲載されているサイトをご存じの方がおられましたら、アドレスをお教えください。 よろしくお願い致します。