AKAI TSUKI

System development or Technical something

VBScriptでExcel(xltx)を保存する。

「xltx形式のExcelをVBScriptで保存する」試してみた。
単にSaveメソッド?で保存するとxlsx形式で保存されてるみたい。

単に保存するだけではNGな様子。SaveASメソッドでファイル名を指定して保存するだけでもNGでした。
実際には以下のメッセージのエラーになった。

この拡張子は、選択したファイル形式には使用できません。
[ファイル名] ボックスでファイル拡張子を変更するか、
[ファイルの種類] ボックスで別のファイル形式を選択してください。

最終的にこのあたりを見て解決したっぽい。


こんな感じで保存する。

Dim xltxfilename, workbook, excel
Set excel = CreateObject("Excel.Application")
Set workbook = excel.Workbooks.open(xltxfilename)
workbook.SaveAs xltxfilename,54

ポイントは54っていう数字。
この"54"はFileFormatプロパティにあるxlOpenXMLTemplateに対応する値。


Excel2007以降はちょっと対応が必要なのね。