複数のExcelファイルをアドイン形式(xlam)に変換する必要があったので、以前書いた記事を流用してスクリプトを書いてみました。
Option Explicit
Dim Fso
Dim Args
Dim OutputFilePath
Dim i
Const xlOpenXMLAddIn = 55
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Args = WScript.Arguments
If Args.Count < 1 Then
MsgBox "アドイン形式(xlam)に変換したいExcelファイルを当スクリプトファイルにドラッグ&ドロップしてください。", vbExclamation + vbSystemModal
WScript.Quit
End If
'ドロップされたファイルを処理(複数ファイル対応)
On Error Resume Next
For i = 0 To Args.Count - 1
Select Case LCase(Fso.GetExtensionName(Args(i)))
Case "xls", "xlsx", "xlsm"
OutputFilePath = Fso.GetParentFolderName(Args(i)) & ChrW(92) & Fso.GetBaseName(Args(i)) & ".xlam"
With CreateObject("Excel.Application")
.Visible = True
.DisplayAlerts = False
With .Workbooks.Open(Args(i))
.SaveAs OutputFilePath, xlOpenXMLAddIn
.Close False
End With
.DisplayAlerts = True
.Quit
End With
End Select
WScript.Sleep 500 '処理待ち
Next
On Error GoTo 0
MsgBox "処理が終了しました。"
使う場面は限られていますが、一々ファイルを開いて名前を付けて保存して・・・という手間は掛からないので、Excelファイルをxlamファイルに一括変換したいときにはお薦めのスクリプトです。
■ 関連記事
・古い形式のWordテンプレートを新しい形式に一括変換するVBScript
//www.ka-net.org/blog/?p=3427
・Office文書を旧バージョンのファイル形式に変換するVBScript
//www.ka-net.org/blog/?p=3828

















この記事へのコメントはありません。