今回は、Excelのブックを保存します。すでに一度保存しているブックの保存は簡単で、通常のアクティブな状態なら「ActiveWorkbook.save」で終わりです。ただ、保存にもいろいろな形式があり、最初に単純に任意のフォルダに保存するマクロを示します。Excelで言うところの「名前を付けて保存」→ 自身で保存場所を指定に当たります。それほど難しくはありません。

任意のフォルダに保存するマクロ

<ファイル名:保存ファイル パス名:C:UsersuserDocuments 拡張子:xlsm>

Sub 任意のフォルダに保存する()
 ActiveWorkbook.SaveAs _
  Filename:="C:UsersuserDocuments保存ファイル", _ 
  FileFormat:=xlOpenXMLWorkbookMacroEnabled
 End Sub

引数Filename:=以下をダブルクォーテーション(”)で囲み、中に保存したいフォルダのパス・ファイル名を書きます。これで任意の場所に保存できます。引数のFileFormatは、どのような拡張子(ファイル形式)で保存するのかを指定します。拡張子は今回はマクロコードも一緒に保存するマクロ有効ブックとして保存しています。

引数FileFormatによく使う定数(拡張子)

保存するブックの拡張子の違いによって、引数に入れる定数が異なります。定数は「名前」でも「値」でもどちらでも構いません。よく使うものだけ示しておきます。

拡張子説明名前
.xlsx Excel ブック xlOpenXMLWorkbook 51
.xls Excel 97-2003 ブック xlExcel8 56
.xlsm Excel マクロ有効ブック xlOpenXMLWorkbookMacroEnabled 52
.csv CSV xlCSV 6
.txt テキストファイル xlCurrentPlatformText -4158

読み込みパスワード、書き込みパスワードの設定

最後に、保存する際に読み込みパスワードや書き込みパスワードを設定するコードを示します

Sub 任意のフォルダに保存する()
 ActiveWorkbook.SaveAs _
  Filename:="C:UsersuserDocuments保存ファイル", _
  FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
  Password:="password", _
  WriteResPassword:="password1", _
  ReadOnlyRecommended:=true
End Sub

上記コードのpassswordの引数に文字列入れると読み取り専用パスワードが設定され、WriteResPasswordの引数に文字列を入れると書き込みパスワードが設定されます。ファイルを開く際、読み取り専用を推奨するメッセージを出す場合には、ReadOnlyRecommendedの引数をtrueとします。