• ベストアンサー

EXCELマクロで上書きメッセージ無しで保存する方法

EXCELマクロで上書きメッセージ無しで保存する方法をお願いします ActiveWorkbook.SaveAs "C:\Documents andSettings\Nakatani\MyDocuments\Book1.xls" の様にするとすでにファイルがある場合上書きメッセージが出ます メッセージを出さずに上書きするプログラミングを教えて下さい 宜しくお願いします

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

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

Application.DisplayAlerts = False ActiveWorkbook.SaveAs "C:\Documents andSettings\Nakatani\MyDocuments\Book1.xls" Application.DisplayAlerts = True

nakatyan
質問者

お礼

早速回答頂きまして有り難うございました おかげさまで解決しました

関連するQ&A

  • 新しく作成したBOOKを上書き保存

    いつも大変お世話になっております。 新規作成したBOOKを指定の場所に、指定の名前で保存しようとしています。 例)C:\ファイル名.xls 保存したいものの sFileName="C:\ファイル名.xls" WorkbookName="ファイル名.xls" ActiveWorkbook.SaveAs Filename:=sFileName '保存して閉じる Workbooks(WorkbookName & "_" & sNowTime & ".xls").Close SaveChanges:=True 上記のように設定したところ、 既にファイルがある場合はウィンドウが表示されます。 その際、MsgBoxにフルパスで表示されてしまい、大変見づらく困っています。 また、新規作成したブックは必ず上書き保存で良いものになっています。 C:\ファイル名.xls というものが既にある場合は、 メッセージを出さず、上書き保存にしたいと思っています。 下記のように、既にブックがあるかも確認したのですが、 違い?が良く分からず、上手くいきませんでした。 '======================使わない上に、プログラムが間違っているためコメントアウトしてます。=========-- 'Dim buf As String ' buf = Dir(sFileName) 'ファイルの存在を調べる ' If buf <> "" Then ' '保存 ' ActiveWorkbook.SaveAs Filename:=sFileName '保存して閉じる ' ' '=================ファイル作成完了 ' Else ' ActiveWorkbook.SaveAs Filename:=sFileName '保存して閉じる ' Workbooks(WorkbookName & "_" & sNowTime & ".xls").Close SaveChanges:=True ' End If '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 質問内容がぐちゃぐちゃしてきたので、まとめさせて頂きます。 ●新規ブックを指定場所に、指定名で保存したい ●指定場所に指定名のブックがあった場合、メッセージを出さずに上書き保存したい です、よろしくお願いいたします。

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

  • エクセル2010で2003形式でマクロ保存したい

    マクロ初心者ですので、よろしくお願いいたします。類似例が無いかと検索しましたが見つからないので質問いたします。 会社のパソコンがエクセル2003から2010に変更されました。しかし、XP環境でエクセル2003しか使えないソフトがあり、そのパソコンも残してあります。2010で作成したマクロブック(xlsm)が、2003でも使えるようファイル名を付けてエクセル2003(xls)で保存できるマクロを作成したのですが、うまくいきません。 2010で保存できた構文に、「m」を削除し、Excel8の構文を付加するのですが、構文「FileFormat:」がハイライトされ、コンパイルエラーと表示され、「名前付き引数がありません」となります。 ActiveWorkbook.SaveCopyAs Filename:=FPATH & "\" & book3 & ".xls", _ FileFormat:=xlExcel8  「ActiveWorkbook.SaveAs」では拡張子が合わないとなりますが、保存はできています。「ActiveWorkbook.SaveCopyAs」で名前付け保存したいのですが、上記のエラーとなります。 よろしくご回答をお願いいたします。

  • 開いている別のファイルにExcelのマクロで上書きしたい

    開いている別のファイルにExcelのマクロで上書きしたい いつも申し訳ありませんが またExcelのマクロについて質問させてください。 名前 = ActiveWorkbook.Name Set ファイル = Application.FileDialog(msoFileDialogSaveAs) Application.FileDialog(msoFileDialogSaveAs).InitialFileName = "コピー" & 名前 If ファイル.Show = -1 Then Worksheets.Copy ActiveWorkbook.SaveAs "コピー" & 名前 End If Set ファイル = Nothing これにより、現在開いているファイルを マクロを付けない状態で 名前の前に「コピー」と付けた別のファイルとして保存しています。 ただ問題は 同じ「コピー」が付いたファイルがすでに開かれている場合 保存しようとしても 実行時エラー '1004': このブックを、ほかの開いているブックまたはアドインと同じ名前では 保存できません。別の名前を指定するか、または保存する前に開いている ブックまたはアドインを閉じてくさい。 というエラーが表示されてしまうのです。 Excel2002でもExcel2003でも同じでした。 これを 仮に「コピー」の付いているファイルが すでに開かれているとしても これに上書きする形で保存できるようにするためには どうすればよいのでしょうか。 ご回答をよろしくお願いいたします。

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

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

  • ファイルの保存先を任意にしたい(マクロ)

     エクセルのマクロです。  マクロを実行した時に、保存先とファイル名は任意に入力して(その部分だけは、マクロ実行者が入力して)、その後もマクロを実行させたいのですがどうすれば良いのでしょうか? たとえば、 ActiveCell.FormulaR1C1 = "1" Range("B1").Select ChDir "C:\Documents and Settings\a\デスクトップ" ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book1.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A2").Select ActiveCell.FormulaR1C1 = "2" Range("B2").Select ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book2.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A3").Select ActiveCell.FormulaR1C1 = "3" Range("B3").Select ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book3.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A4").Select ActiveCell.FormulaR1C1 = "4" Range("B4").Select  上記の場合は、保存先もファイル名もこちらが指定していますが、その部分だけは、マクロの実行者に任意指定及び入力させたいのです。  マクロ初心者なので、よろしくお願いします。

  • 上書き保存されない

    saveメソッドを使用しているのですが、上書きされないのです。 最初に名前をつけて保存で保存し、処理の最後にブック名を変数にして、saveで上書き保存しているのですが、なぜか教えてください。 Dim wb集計 As Workbook ActiveWorkbook.SaveAs Filename:="c:\集計.xls" 集計 = "集計.xls" Set wb集計 = Workbooks(集計) ~割愛~ wb集計.Save

  • EXCELのマクロで保存するときのメッセージ

    CSVファイルを上書き更新後、ファイルを閉じる作業をしたいのですが、EXCEL2000のマクロでその作業を行うと、次のメッセージがでて、次の手作業の要求がきます。 (1)ファイルの上書きするとき  この場所にAAAというファイルが既にあります。置き換えますか・・・はいのクリック (2)ファイルを閉じるとき  AAAへのファイルの変更を保存しますか・・・いいえをクリック この(1)(2)の作業も、マクロに書きたいのですが、どうすればよいのでしょうか 現在のマクロは ActiveWorkbook.SaveAs Filename:= _ "C:\AAA.csv" _ , FileFormat:=xlCSV, CreateBackup:=False ActiveWindow.Close よろしくお願いします

  • エクセル2007でエクセル2003形式で保存しようとしたときに、互換性

    エクセル2007でエクセル2003形式で保存しようとしたときに、互換性チェックのアラートを出さずに保存するには、どのようにマクロ記述すればよいですか。 ActiveWorkbook.SaveAs Filename:= "book1.xls", FileFormat:=xlExcel8 の前か後に何かを記述すれば良いと思うのですが、それがわかりません。 よろしくお願いいたします。

  • メッセージを表示させずに、上書きしたい・・・

    アクセス97、エクセル97を使用しています。 2点、質問です。 (1)アクセスのマクロ「エクセル出力」の実行時に、『ファイル*.xlsは、既に存在します。上書きしますか?』というメッセージがでます。そして、ここは、いつも『はい』で進みます。 →この場合、このメッセージを表示させないで、エクセルファイルを上書きするというマクロまたは、VBAはありませんか? (2)(1)で"上書き保存"をした後に、必ず、エクセルが立ち上がってきてしまいます。 →エクセルが立ち上がらないようにしたいのですが、そのようなマクロまたは、VBAはありませんか? すみませんが、宜しくお願い致します。

専門家に質問してみよう