複数のWord文書内の「平成」を「令和」に一括変換(VBScript)

複数のWord文書内の複数の「平成」の語句を一括して「令和」に変換します。
VBScriptを使っていますが、変換自体はWordの機能を使っています。

使う際は、下のスクリプトを WordReplace.vbs などの「.vbs」拡張子のテキストファイルで保存し(シフトJIS)、変換したいWordファイルをドラッグ&ドロップしてください。

確認は Windows10 & Word365 の環境で行っています。
「平成」「令和」を他の語句に変更することも可能です。

'========================================================================
'WordReplace.vbs
'ドラッグ&ドロップで受け取ったWordファイルの文字列を置換します。
'========================================================================
Const FindText = "平成"
Const ReplaceText = "令和"

Dim myWord, myDocument, objFS, FileName, FolderName, i
If WScript.Arguments.Count = 0 Then WScript.Quit
Set objFS = CreateObject("Scripting.FileSystemObject")
i = 0
Set myWord = CreateObject("Word.Application")
'myWord.Visible = True
For Each FileName in WScript.Arguments
	FolderName = objFS.GetParentFolderName(FileName)

	Select Case LCase(objFS.GetExtensionName(FileName))
	Case  "docx","doc","rtf"
		Set myDocument = myWord.Documents.Open (FileName)
		With myDocument.Content.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = FindText
    .Replacement.Text = ReplaceText
    .Forward = True
    .Wrap = 1
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = False
    .MatchFuzzy = True
    .Execute , , , , , , , , , , 2
		End With
		myDocument.Save
		myDocument.Close
	i = i + 1
	End Select
Next
myWord.Quit
Set objFS = Nothing
Set myDocument = nothing
Set myWord = nothing
MsgBox i & "個のファイルを変換しました"
タイトルとURLをコピーしました