古い形式の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
■ 使い方
- 上記コードをコピーしてメモ帳に貼り付けます。
- 拡張子を「vbs」にして保存します。
- 手順2.で保存したvbsファイルに、Wordのテンプレートファイル(dot)が保存されているフォルダーをドラッグ&ドロップします。
■ 関連記事
・Office文書を旧バージョンのファイル形式に変換するVBScript
//www.ka-net.org/blog/?p=3828
・ドラッグ&ドロップでExcelファイルをアドイン形式(xlam)に一括変換するVBScript
//www.ka-net.org/blog/?p=5264






















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