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 アドイン

    [Office用アプリ]任意の場所にデータを入力する。

    ※ この情報はOffice 2013 カスタマー プレビュー版を元にし…

  2. Office関連

    セル内の改行をカウントするExcelマクロ

    「Excel セルの内容 改行を数える VBA」といったキーワード検索…

  3. Office関連

    Excelを使わずにCSVからExcelファイルに変換するPowerShellコード

    CSVファイルからExcelファイルに変換する処理を自動化したい、Ex…

  4. Office関連

    PDFファイルにヘッダーとフッターを追加するVBAマクロ

    mougに“マクロで既存のPDFファイルのフッターを操作(追加)したい…

  5. Office関連

    Google スライドで新規プレゼンテーションを作成するVBAマクロ

    ここ数日PowerPointのマクロに加え、Google Apps S…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP