要件が違っていたので回答しなおします。
昨日返信頂いた要件です。
------------------------------------
例えば
① テンプレから開いた「台帳.xlsm」をsheet1のセルA1から取得した名前(日にち)「台帳台帳251120.xltm」を同じフォルダにテンプレ保存
② 「台帳251120.xltm」がテンプレート保存完了後 そのまま開いたままで誤操作できないように非表示にしておいたシートを再表示
③ 台帳251120.xltm→○○台帳251120.xlsm(xlsb)」で別フォルダに保存(保存ダイアログボックスが表示されればOK)
出来れば①②③と一緒にできれば最高ですが 単独で①と②③は1つのマクロで出来ないでしょうか?
尚、②のマクロは構築済です。
------------------------------------
保存をボタンから行うようにしました。
そのボタンに書くコードです。
「台帳yymmdd.xltm」を保存するフォルダを
Const fpath As String = \u0026quot;C:\\work\\\u0026quot;
に書いて下さい。最後に \\ を忘れずに。
Sub test()
Const fpath As String = \u0026quot;C:\\work\\\u0026quot;
Dim fname As Variant
Dim ans As Long
fname = fpath \u0026amp; \u0026quot;台帳\u0026quot; \u0026amp; Format(Worksheets(\u0026quot;Sheet1\u0026quot;).Range(\u0026quot;A1\u0026quot;).Value, \u0026quot;yymmdd\u0026quot;) \u0026amp; \u0026quot;.xltm\u0026quot;
If Dir(fname) = \u0026quot;\u0026quot; Then
ans = MsgBox(fname \u0026amp; \u0026quot;で保存します。いいですか?\u0026quot;, vbYesNo + vbQuestion, \u0026quot;確認\u0026quot;)
If ans = vbYes Then
Application.EnableEvents = False
ActiveWorkbook.SaveAs Filename:=fname, FileFormat:=xlOpenXMLTemplateMacroEnabled
Application.EnableEvents = True
Else
Exit Sub
End If
Else
ans = MsgBox(fname \u0026amp; \u0026quot;は存在します。上書きしていいですか?\u0026quot;, vbYesNo + vbQuestion, \u0026quot;確認\u0026quot;)
If ans = vbYes Then
Application.DisplayAlerts = False
Application.EnableEvents = False
ActiveWorkbook.SaveAs Filename:=fname, FileFormat:=xlOpenXMLTemplateMacroEnabled
Application.EnableEvents = True
Application.DisplayAlerts = True
Else
fname = Application.GetSaveAsFilename(FileFilter:=\u0026quot;Excelファイル,*.xl*\u0026quot;)
If fname = False Then
Exit Sub
Else
Application.EnableEvents = False
If Right(fname, 4) = \u0026quot;xltm\u0026quot; Then
ActiveWorkbook.SaveAs fname, FileFormat:=xlOpenXMLTemplateMacroEnabled
Else
ActiveWorkbook.SaveAs fname, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End If
Application.DisplayAlerts = True
End If
End If
End If
End Sub
アイコンの保存などから勝手に保存しないように
ThisWorkbook に下記を記載して下さい。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox \u0026quot;保存ボタンから実行して下さい\u0026quot;
Cancel = True
End Sub