VBAでワークブックを保存する方法
VBAを使ってExcelのワークブックを保存する方法について説明します。
① Workbooks.Save
メソッドの基本的な使用法
Workbooks.Save
メソッドは、開いているワークブックに加えられた変更を保存するために使用されます。このメソッドは、変更を加えた後にワークブックを閉じる前に、または定期的にワークブックの変更を保存するために使用されます。
② 名前を付けてワークブックを保存する方法
名前を付けてワークブックを保存するには、SaveAs
メソッドを使用します。このメソッドには、保存するファイルのパスとファイル名を引数として渡します。例えば、ActiveWorkbook.SaveAs "C:\新しい名前.xlsx"
のように記述すると、アクティブなワークブックが新しい名前で保存されます。
③ 保存形式(ファイルの種類)を指定して保存する方法
SaveAs
メソッドでは、ファイル形式を指定してワークブックを保存することも可能です。例えば、ActiveWorkbook.SaveAs Filename:="C:\example.xlsx", FileFormat:=xlOpenXMLWorkbook
のように記述することで、特定の形式でファイルを保存できます。
④ シートを新規ブックとしてコピーし保存する方法
特定のシートを新しいワークブックとして保存するには、まずそのシートを新しいワークブックにコピーし、次に SaveAs
メソッドで新しいワークブックを
保存します。たとえば、Worksheets("Sheet1").Copy
と記述し、新しいワークブックが作成された後に、ActiveWorkbook.SaveAs "C:\新しいワークブック.xlsx"
として保存します。
⑤ 開いたワークブックを別ファイルで保存する方法
既に開いているワークブックを異なる名前や形式で保存する場合も、SaveAs
メソッドを使用します。この方法は、オリジナルのファイルを保持しつつ、新しいバージョンを別の場所や形式で保存したい場合に便利です。
サンプルコード
特定のワークブックを保存して閉じる
Sub CloseWorkbookWithSave()
Dim filePath As String
filePath = "C:\example.xlsx"
Workbooks("example.xlsx").Close SaveChanges:=True
End Sub
このコードは、”example.xlsx” という名前のワークブックを保存して閉じます。ファイル名は適宜変更してください。