「xltx形式のExcelをVBScriptで保存する」試してみた。
単にSaveメソッド?で保存するとxlsx形式で保存されてるみたい。
単に保存するだけではNGな様子。SaveASメソッドでファイル名を指定して保存するだけでもNGでした。
実際には以下のメッセージのエラーになった。
この拡張子は、選択したファイル形式には使用できません。 [ファイル名] ボックスでファイル拡張子を変更するか、 [ファイルの種類] ボックスで別のファイル形式を選択してください。
最終的にこのあたりを見て解決したっぽい。
- FileFormatプロパティの定数
- 一部役にたった
こんな感じで保存する。
Dim xltxfilename, workbook, excel Set excel = CreateObject("Excel.Application") Set workbook = excel.Workbooks.open(xltxfilename) workbook.SaveAs xltxfilename,54
ポイントは54っていう数字。
この"54"はFileFormatプロパティにあるxlOpenXMLTemplateに対応する値。
Excel2007以降はちょっと対応が必要なのね。