Office関連

ドラッグ&ドロップでExcelファイルをアドイン形式(xlam)に一括変換するVBScript

複数の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

「Office 2003 のコマンドに対応する Office 2010 のリファレンス ブック」のダウンロード先前のページ

SharpDevelopのインストールと日本語化次のページ

関連記事

  1. Office関連

    Chrome DevTools ProtocolでEdgeを操作するVBAマクロ

    Microsoft Edgeの操作を自動化する際はWebDriverを…

  2. Office アドイン

    [Office用アプリ]マニフェストファイルで多言語対応させる。

    Office用アプリの各種設定を定義するXMLマニフェストファイルです…

  3. Office関連

    【2018年9月版】Microsoft Office関連の公式リンクまとめ

    Ignite 2018やOffice 2019のリリースがあり、Off…

  4. Office関連

    セルの行数をカウントするWordマクロ

    「ソースコードを番号行付きのテーブルに変換するWordマクロ」を実行し…

  5. Office関連

    選択範囲をOneNoteに送るVBAマクロ

    OneNote プリンタードライバー(プリンター)を使ってドキュメント…

コメント

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

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP