Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » 保存時に同じ名前のファイルがあった場合に強制的に上書きするExcelマクロ

保存時に同じ名前のファイルがあった場合に強制的に上書きするExcelマクロ

[スポンサードリンク]

保存時に同名ファイルが存在していた場合に強制上書きするサンプルマクロ

同じ名前のファイルが存在していた場合に、強制的に上書きしてしまうという仕様が選ばれることもあります。

Sub アクティブなブックを同じ名前でデスクトップに保存_強制上書き()

 Dim wsh As Object 'IWshRuntimeLibrary.WshShell
 Dim dt_path As String
 Dim bk_name As String

 Set wsh = CreateObject("WScript.Shell")
 dt_path = wsh.SpecialFolders("desktop")
 Set wsh = Nothing

 bk_name = ActiveWorkbook.Name
 bk_name = dt_path & "\" & bk_name

 Application.DisplayAlerts = False
 ActiveWorkbook.SaveAs Filename:=bk_name
 Application.DisplayAlerts = True

End Sub

デスクトップのフルパスを取得して、パスを含んだファイル名を作成する部分は、既にご紹介しているマクロと同じです。
 Set wsh = CreateObject("WScript.Shell")
 dt_path = wsh.SpecialFolders("desktop")
 Set wsh = Nothing
 bk_name = ActiveWorkbook.Name
 bk_name = dt_path & "\" & bk_name

作成したフルパス込みのファイル名を使ってWorkbook.SaveAsメソッドを実行する前に、警告を非表示にしてしまえば、
 Application.DisplayAlerts = False

万一同じ名前のファイルがあったときには強制的に上書き保存されます。
 ActiveWorkbook.SaveAs Filename:=bk_name

関連語句
VBA, Visual Basic for Applications

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » 保存時に同じ名前のファイルがあった場合に強制的に上書きするExcelマクロ

「Workbooks・Workbook」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.