マクロでエクセルを保存する

作業したエクセルを所定の位置に任意の名前などを付けて保存していきます。

場所を指定して保存する

ActiveWorkbook.SaveAs Filename:= _
"保存したい場所のフルパス\マクロA.xlsm"

保存はたったこれだけです。フルパスとは例えば↓をクリックして確認できる、そのフォルダの場所です。この場合、指定したフルパスに「マクロA」という名前でエクセルが保存されます。

画像1

他にも、例えば日付を名前に追加することもできます。

ActiveWorkbook.SaveAs Filename:= _
 "保存したい場所のフルパス\" & Format(Now(), "yymmdd") & "マクロA.xlsm"

このようにすれば、作成した日付をyymmddの形で追加できます。
2021/08/29に稼働させれば、「210828マクロA」という名前になります。
また、所定のセルの値をタイトルに追加することも可能です

ActiveWorkbook.SaveAs Filename:= _
 "保存したい場所のフルパス\" & ThisWorkbook.Worksheets("sheet1").Range("G2") & "マクロA.xlsm"

この場合、稼働させているエクセル上のsheet1のG21セルに入っている値がそのままタイトルに追加されることになります。

デスクトップに保存する

前回も言及しましたが、デスクトップはそれぞれのPCでパスが異なるので、汎用的に稼働させようとすると、そのPCのデスクトップパスを取得する必要があります。

Dim Path As String, WSH As Variant
   Set WSH = CreateObject("Wscript.Shell")
   Path = WSH.SpecialFolders("Desktop") & "\" 'ここまでデスクトップパスの取得
   Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
       Path & Format(Now(), "yymmdd") & "マクロB.xlsm"
  Application.DisplayAlerts = True

このコードだと「yymmdd形式の日付+マクロB」という名前でデスクトップに保存することができます。

次回は気が向けばエクセルマクロをタスクスケジューラで動かす予定です

この記事が気に入ったらサポートをしてみませんか?