Home » WSH・Windows Script Hostの使い方 » ファイルの変換ダイアログを表示せずWordで開くVBScript

ファイルの変換ダイアログを表示せずWordで開くVBScript

WSH, Windows Script Host, VBScript, Windows版Word(バージョン1821 ビルド11126.20266)

Wordで複数のUTF-8形式のテキストファイルを開きたいというシーンがありました。

ファイルが1つなら下図のような[ファイルの変換]ダイアログでエンコード方式を指定すればいいのですが、

ファイルの変換ダイアログを表示せずWordで開くVBScript

複数のファイルを開く場合にいちいち指定するのを面倒に感じたので、VBScriptを作ってみました。

[スポンサードリンク]

ファイルの変換ダイアログを表示せずWordで開くサンプルスクリプト

下記のコードを含む、拡張子「.vbs」のファイルを用意し、開きたいファイルをその.vbsファイルにドラッグ&ドロップすると[ファイルの変換]ダイアログを表示せずにWordで開くことができます。

Option Explicit
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

    Dim f_path
    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を指定すれば、[ファイルの変換]ダイアログが表示されなくなります。

ファイルの変換ダイアログを表示せずWordで開くVBScript

Documents.Openメソッドにはたくさんの引数を指定でき、Encodingという引数もありますが、私の環境では指定しなくても適切に開けるので、上記のスクリプトでは指定していません。

[スポンサードリンク]

Home » WSH・Windows Script Hostの使い方 » ファイルの変換ダイアログを表示せずWordで開くVBScript

「WSH・Windows Script Hostの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.