今回は、Excelのブックを保存します。すでに一度保存しているブックの保存は簡単で、通常のアクティブな状態なら「ActiveWorkbook.save」で終わりです。ただ、保存にもいろいろな形式があり、最初に単純に任意のフォルダに保存するマクロを示します。Excelで言うところの「名前を付けて保存」→ 自身で保存場所を指定に当たります。それほど難しくはありません。
任意のフォルダに保存するマクロ
<ファイル名:保存ファイル パス名:C:\Users\user\Documents 拡張子:xlsm>
Sub 任意のフォルダに保存する()
ActiveWorkbook.SaveAs _
Filename:="C:\Users\user\Documents\保存ファイル", _
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:\Users\user\Documents\保存ファイル", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
Password:="password", _
WriteResPassword:="password1", _
ReadOnlyRecommended:=true
End Sub
上記コードのpassswordの引数に文字列入れると読み取り専用パスワードが設定され、WriteResPasswordの引数に文字列を入れると書き込みパスワードが設定されます。ファイルを開く際、読み取り専用を推奨するメッセージを出す場合には、ReadOnlyRecommendedの引数をtrueとします。