Wordで複数のUTF-8形式のテキストファイルを開きたいというシーンがありました。
ファイルが1つなら下図のような[ファイルの変換]ダイアログでエンコード方式を指定すればいいのですが、
複数のファイルを開く場合にいちいち指定するのを面倒に感じたので、VBScriptを作ってみました。
ファイルの変換ダイアログを表示せずWordで開くサンプルスクリプト
下記のコードを含む、拡張子「.vbs」のファイルを用意し、開きたいファイルをその.vbsファイルにドラッグ&ドロップすると[ファイルの変換]ダイアログを表示せずにWordで開くことができます。
Call Main
Sub Main()
Dim args
With Wscript
Set args = .Arguments
If args.Count < 1 Then
MsgBox "Wordで開きたいファイルをドラッグ&ドロップしてください。"
.Quit
End If
End With
Call OpenFiles(args)
End Sub
Private Sub OpenFiles(args)
With CreateObject("Word.Application")
.Visible = True
For Each f_path In args
On Error Resume Next
.Documents.Open f_path, False
If Err.Number > 0 Then
MsgBox f_path & " は、開けませんでした。"
Err.Clear
End If
On Error GoTo 0
Next
End With
End Sub
サンプルスクリプトで行っている処理
ポイントは、Word.DocumentsコレクションのOpenメソッドの第2引数です。
.Documents.Open f_path, False
引数ConfirmConversionsにFalseを指定すれば、[ファイルの変換]ダイアログが表示されなくなります。
Documents.Openメソッドにはたくさんの引数を指定でき、Encodingという引数もありますが、私の環境では指定しなくても適切に開けるので、上記のスクリプトでは指定していません。
Home » WSH・Windows Script Hostの使い方 » ファイルの変換ダイアログを表示せずWordで開くVBScript