VBScript

Office文書を旧バージョンのファイル形式に変換するVBScript

xlsxやdocxといった新しい形式のOffice文書をスクリプトファイルにドラッグ&ドロップすると、xlsやdocといった旧バージョンのファイル形式に変換して元ファイルと同じフォルダーに出力するVBScriptです。

Option Explicit

Dim Fso
Dim Args
Dim OutputFilePath
Dim i

Const wdFormatDocument = 0
Const wdDoNotSaveChanges = 0
Const xlNormal = -4143
Const ppSaveAsPresentation = 1

Set Fso = CreateObject("Scripting.FileSystemObject")
Set Args = WScript.Arguments
If Args.Count < 1 Then
  MsgBox "旧バージョンのファイル形式に変換したいOffice文書を当スクリプトファイルにドラッグ&ドロップしてください。"
  WScript.Quit
End If

'ドロップされたファイルを処理(複数ファイル対応)
On Error Resume Next
For i = 0 To Args.Count - 1
  '拡張子によって処理分岐
  Select Case LCase(Fso.GetExtensionName(Args(i)))
    'Wordファイル処理
    Case "docx", "docm"
      OutputFilePath = Fso.GetParentFolderName(Args(i)) & ChrW(92) & Fso.GetBaseName(Args(i)) & ".doc"
      With CreateObject("Word.Application")
        .Visible = True
        .DisplayAlerts = False
        With .Documents.Open(Args(i))
          .SaveAs OutputFilePath, wdFormatDocument
          .Close wdDoNotSaveChanges
        End With
        .DisplayAlerts = True
        .Quit
      End With
    'Excelファイル処理
    Case "xlsx", "xlsm"
      OutputFilePath = Fso.GetParentFolderName(Args(i)) & ChrW(92) & Fso.GetBaseName(Args(i)) & ".xls"
      With CreateObject("Excel.Application")
        .Visible = True
        .DisplayAlerts = False
        With .Workbooks.Open(Args(i))
          .SaveAs OutputFilePath, xlNormal
          .Close False
        End With
        .DisplayAlerts = True
        .Quit
      End With
    'PowerPointファイル処理
    Case "pptx", "pptm"
      OutputFilePath = Fso.GetParentFolderName(Args(i)) & ChrW(92) & Fso.GetBaseName(Args(i)) & ".ppt"
      With CreateObject("PowerPoint.Application")
        .Visible = True
        .DisplayAlerts = False
        With .Presentations.Open(Args(i))
          .SaveAs OutputFilePath, ppSaveAsPresentation
          .Close
        End With
        .DisplayAlerts = True
        .Quit
      End With
  End Select
  WScript.Sleep 500 '処理待ち
Next
On Error GoTo 0

MsgBox "処理が終了しました。"

5年くらい前に書いたものが出てきたので、忘れないうちにメモしておきます。

■ 関連記事

・古い形式のWordテンプレートを新しい形式に一括変換するVBScript
//www.ka-net.org/blog/?p=3427
・ドラッグ&ドロップでExcelファイルをアドイン形式(xlam)に一括変換するVBScript
//www.ka-net.org/blog/?p=5264

Evernoteのサイレント・インストール前のページ

[Office用アプリ]路線検索はこのアプリにおまかせ!?「乗換案内 Apps for Office」次のページ

関連記事

  1. Office関連

    Officeアプリケーションの「最近使用したファイル」を削除するVBScript

    WordやExcel等のOfficeアプリケーションでは、下記サイトに…

  2. VBScript

    実行中のアプリケーション一覧を出力するVBScript

    「VBS アプリ一覧 出力」というキーワード検索での訪問があったので、…

  3. Windows関連

    ダウンロードフォルダーのパスを取得するVBScript

    ダウンロードフォルダーのパスを取得する必要があったので、過去に書いた記…

  4. VBScript

    ファイル選択ダイアログ

    ファイル選択ダイアログを表示するVBScriptをまとめてみま…

  5. Office関連

    KB2553154の更新プログラムをアンインストールするVBScript

    2014/12/11 追記:当記事で紹介しているのは更新プログラム…

  6. Windows関連

    Lhaplusのバージョンを取得するVBScript

    およそ2年ぶりに圧縮・解凍ソフトの「Lhaplus」がバージョンアップ…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP