ExcelVBA~マクロ付きブックを保存(SaveAs)

備忘録記事です。

ExcelVBAで、新規ブックを作成し保存しようとする場合、保存するブックがマクロ付きの場合は要注意。

普通のExcelファイルとして保存

まずは普通に保存する場合

Dim pStrPath As String,pObjWB As Workbook
pStrPath="○○\△△.xlsx"
Set pObjWB=Workbooks.Add
pObjWB.SaveAs pStrPath

マクロ付きブックとして保存する場合

SaveAsの第二引数が必要

Dim pStrPath As String,pObjWB As Workbook
pStrPath="○○\△△.xlsx"
Set pObjWB=Workbooks.Add
pObjWB.SaveAs pStrPath,xlOpenXMLWorkbookMacroEnabled

第二引数は「ファイル形式(FileFormat)」ファイル形式の主だった形式と定数は以下の通り

ファイル形式 定数
xlsx xlWorkbookDefault
xlsx xlOpenXMLWorkbook
xlsm xlOpenXMLWorkbookMacroEnabled
xls xlWorkbookNormal
txt xlCurrentPlatformText