構文
構文は以下の通りです。
Workbook.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
解説
SaveAsは、ワークブックを指定した名前や形式で保存するメソッド(操作)です。このメソッドを実行することで、現在のワークブックを新しいファイル名や形式で保存します。
引数 | 指定 | 内容 |
FileName | 必須 | 保存するファイルのパスと名前を指定します。 |
FileFormat | 省略可 | 保存するファイルの形式を指定します。省略した場合は現在のファイル形式で保存されます。 |
Password | 省略可 | パスワードを指定します。保存するファイルがパスワードで保護されます。 |
WriteResPassword | 省略可 | 読み取り専用パスワードを指定します。 |
ReadOnlyRecommended | 省略可 | 他のユーザーに対して読み取り専用モードで開くことを推奨するかどうかを指定します。 |
CreateBackup | 省略可 | 保存前にバックアップを作成するかどうかを指定します。 |
AccessMode | 省略可 | 保存するファイルへのアクセスモードを指定します。 |
ConflictResolution | 省略可 | 名前の衝突が発生した場合に処理方法を指定します。 |
AddToMru | 省略可 | 最近使用したファイルの一覧に追加するかどうかを指定します。 |
TextCodepage | 省略可 | テキストファイルの文字コードを指定します。 |
TextVisualLayout | 省略可 | テキストファイルの視覚的なレイアウトを指定します。 |
Local | 省略可 | ローカル設定を使用するかどうかを指定します。 |
使い方
SaveAs関数は、Workbookオブジェクトに対して直接呼び出すことができます。以下にSaveAs関数の使用例を示します。
Sub SaveWorkbook()
Dim wb As Workbook
Set wb = ThisWorkbook
' ファイルを新しい名前で保存する
wb.SaveAs "C:\Documents\NewWorkbook.xlsx"
End Sub
Dim wb As Workbook
Set wb = ThisWorkbook
' ファイルを新しい名前で保存する
wb.SaveAs "C:\Documents\NewWorkbook.xlsx"
End Sub
上記の例では、現在のWorkbookオブジェクト(ThisWorkbook)を新しい名前で保存しています。保存先のパスとファイル名を指定することで、指定した場所にファイルが保存されます。
プログラミング例
次に、ファイル形式やパスワードの指定など、より詳細なプログラミング例を示します。
Sub SaveWorkbook()
Dim wb As Workbook
Set wb = ThisWorkbook
' 別の形式で保存する例(PDF形式)
wb.SaveAs "C:\Documents\NewWorkbook.pdf", FileFormat:=xlTypePDF
' パスワードで保護して保存する例
wb.SaveAs "C:\Documents\NewWorkbook.xlsx", Password:="password"
' 読み取り専用パスワードを指定して保存する例
wb.SaveAs "C:\Documents\NewWorkbook.xlsx", WriteResPassword:="readpassword", ReadOnlyRecommended:=True
' バックアップを作成して保存する例
wb.SaveAs "C:\Documents\NewWorkbook.xlsx", CreateBackup:=True
End Sub
Dim wb As Workbook
Set wb = ThisWorkbook
' 別の形式で保存する例(PDF形式)
wb.SaveAs "C:\Documents\NewWorkbook.pdf", FileFormat:=xlTypePDF
' パスワードで保護して保存する例
wb.SaveAs "C:\Documents\NewWorkbook.xlsx", Password:="password"
' 読み取り専用パスワードを指定して保存する例
wb.SaveAs "C:\Documents\NewWorkbook.xlsx", WriteResPassword:="readpassword", ReadOnlyRecommended:=True
' バックアップを作成して保存する例
wb.SaveAs "C:\Documents\NewWorkbook.xlsx", CreateBackup:=True
End Sub
上記の例では、SaveAs関数にさまざまなオプションを使用しています。例えば、ファイル形式をPDFに変更する場合は「FileFormat:=xlTypePDF」と指定します。また、パスワードを設定する場合は「Password:=パスワード」、読み取り専用パスワードを設定する場合は「WriteResPassword:=読み取り専用パスワード」と指定します。
まとめ
SaveAs関数を使用することで、ファイルの保存先や形式、パスワードの設定などを柔軟に制御することができます。是非、ExcelVBAの学習や日常の業務でSaveAs関数を活用してみてください。