プロが教えるわが家の防犯対策術!

マクロ有効テンプレートで保存している、作業ブックに下記のマクロコードが有ります。
Sub 保存削除2()
Dim WS As Worksheet
Dim TargetCheck As String
Dim List As Variant
Dim i As Long
Dim Chk As Boolean
List = Array("休日", "受付", "管理表")
For Each WS In Worksheets
Chk = False
If WS.Visible = False Then
For i = 0 To UBound(List)
If WS.Name = List(i) Then
Chk = True
Exit For
End If
Next i
If Chk = False Then
TargetCheck = TargetCheck & WS.Name & vbCrLf
Application.DisplayAlerts = False
WS.Delete
Application.DisplayAlerts = True
End If
End If
Next WS
If TargetCheck = "" Then
MsgBox "非表示シートはありません。処理を終了します。"
ActiveWorkbook.Save
Else
MsgBox "以下の非表示シートを削除しました。" & vbCrLf & vbCrLf & TargetCheck
ActiveWorkbook.Save
End If
mybook = ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:=mybook & "\" & Range("Z1").Value & "●.xlsx", FileFormat:=xlOpenXMLWorkbook
Application.Quit
With ThisWorkbook
.Saved = True
.Close False
End With
End Sub
このマクロを実行すると不要な非表示シートを削除し、
「マクロ有効テンプレート:xltm」保存形式から「Excelのブック:xlsx形式」に保存形式を変更しZ1値のファイル名●で保存出来るようになってます。
「Excelのブック:xlsx形式」されたタイミングで
元々の「マクロ有効テンプレート:xltm」ファイルの削除を実行する方法を教えてください。
尚、「マクロ有効テンプレート:xltm」のファイル名は様々な名前で保存されます。
よろしくお願いいたします。

A 回答 (1件)

老婆心


「マクロ有効テンプレート」とは複数回使用するためのものではないですか?
そのファイルを削除して大丈夫なのでしょうか?
削除したいのは
ActiveWorkbook.Save
で作成されるマクロ有効workbook(xlsmファイルだったかな?)ではありませんか?
それでしたら、
ActiveWorkbook.Save
を削除(rem文などで無効化)すればよろしいかと思いますよ。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
参考にさせて頂きます。

お礼日時:2022/03/25 17:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!