Office関連

古い形式のWordテンプレートを新しい形式に一括変換するVBScript

古い形式のWordテンプレート(dot)を新しい形式(dotx,dotm)に変換するスクリプトを作成しました。
vbsファイルにdot形式のテンプレートが保存されているフォルダーをドラッグ&ドロップすると、同じフォルダー内に新しい形式のテンプレートファイルを出力します。

DocumentオブジェクトのHasVBProjectプロパティを使用しているので、Word 2007以前のバージョンでは動作しません。

Option Explicit

Dim args
Dim fso
Dim itm
Dim target '処理対象フォルダーのパス

Const wdDoNotSaveChanges = 0
Const wdFormatXMLTemplate = 14
Const wdFormatXMLTemplateMacroEnabled = 15

Set args = WScript.Arguments
If args.Count < 1 Then
  MsgBox "dotファイルが保存されているフォルダーを" & vbCrLf & _
         "当スクリプトファイルにドラッグ&ドロップして" & vbCrLf & _
         "処理を実行してください。", 16 + 4096
  WScript.Quit
ElseIf args.Count > 1 Then
  MsgBox "当スクリプトが一度に処理できるのは1フォルダーだけです。" & vbCrLf & _
         "処理を中止します。", 16 + 4096
  WScript.Quit
End If

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(args(0)) = False Then
  MsgBox "対象フォルダーが見つかりません。" & vbCrLf & _
         "処理を中止します。", 16 + 4096
  WScript.Quit
End If

target = args(0)
If Right(target, 1) <> ChrW(92) Then target = target & ChrW(92)
With CreateObject("Word.Application")
  .Visible = False
  For Each itm In fso.GetFolder(target).Files
    Select Case LCase(fso.GetExtensionName(itm.Path))
      Case "dot"
        With .Documents.Open(itm.Path, False, True, False)
          If .HasVBProject Then
            .SaveAs target & fso.GetBaseName(itm.Path) & ".dotm", wdFormatXMLTemplateMacroEnabled
          Else
            .SaveAs target & fso.GetBaseName(itm.Path) & ".dotx", wdFormatXMLTemplate
          End If
          .Close wdDoNotSaveChanges
        End With
    End Select
  Next
  .Quit wdDoNotSaveChanges
End With

MsgBox "処理が終了しました。", 64 + 4096

■ 使い方

  1. 上記コードをコピーしてメモ帳に貼り付けます。
  2. 拡張子を「vbs」にして保存します。
  3. 手順2.で保存したvbsファイルに、Wordのテンプレートファイル(dot)が保存されているフォルダーをドラッグ&ドロップします。

■ 関連記事

・Office文書を旧バージョンのファイル形式に変換するVBScript
//www.ka-net.org/blog/?p=3828
・ドラッグ&ドロップでExcelファイルをアドイン形式(xlam)に一括変換するVBScript
//www.ka-net.org/blog/?p=5264

関連記事

  1. Office関連

    Google TTSで文字列を読み上げるマクロ

    2012/02/09 追記:関連記事・Google翻訳…

  2. Office関連

    PowerPoint 2013ではプレゼンテーションをmp4形式で保存できるようになりました。

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

  3. Office関連

    アドインやテンプレートのバージョンチェックを行うVBAマクロ

    色々なアプリケーションに実装されている、「最新バージョンの確認」機能、…

  4. Office アドイン

    [Office用アプリ]Mashup Awards 9にOffice 用アプリで応募できる!?

    日本最大級のWebアプリケーション開発コンテスト「Mashup Awa…

  5. Office関連

    PHPWordを使ってPHPからWordファイルを出力してみる。

    最近オトカドールやルミティアジュエルやらの記事ばかり書いていますが、今…

  6. アイコン一覧

    Office 365アイコン(imageMso)一覧(W)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP