Wordを利用して OpenDocument テキスト(.odt)形式の文書を保存

OpenDocumentでの保存とは

Wordを利用して OpenDocument テキスト(.odt)形式の文書を保存する、VBScriptの例です。

OpenDocument テキスト(.odt)形式は、LibreOffice や OpenOffice.org 等の標準的な文書形式ですね。

個人的な意見ですが、LibreOffice でWord文書を読み込んでOpenDocumentで保存するよりも、WordでOpenDocumentに別名保存するようが精度が高い気がしたので、今回はWordをVBScriptから操作することにしました。

ということで、MS WordがインストールされているWindowsでの操作を前提としています。
Windows のバージョンは10、Officeは365です。

スクリプトの例

複数のWord文書をまとめて D&D(ドラッグ・アンド・ドロップ)して使用します。

以下のスクリプトは .vbs の拡張子で保存して、複数のWord文書をまとめてOpenDocumentで保存します。

Dim objFSO, objWord, objDoc, objArgs, FileName, FolderName, OutPutFile
Set objArgs = WScript.Arguments
If objArgs.Count=0 Then
  MsgBox "Wordファイルをドラッグしてください。" & vbCrLf & "OpenDocument Text formatに変換します"
  WScript.Quit
End If

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWord = CreateObject("Word.Application")
'objWord.Visible = True

j = 0
For Each FileName In objArgs
  FolderName = objFSO.GetParentFolderName(FileName)
  Select Case LCase(objFSO.GetExtensionName(FileName))
  Case "doc","docx","txt","html"
    Set objDoc = objWord.Documents.Open (FileName)
    objDoc.SaveAs objFSO.BuildPath(FolderName, objFSO.GetBaseName(FileName) & ".odt"), 23 'wdFormatOpenDocumentText
    objDoc.Close False
  j = j + 1
  End Select
Next

objWord.Quit
Set objFSO = Nothing
Set objDoc = Nothing
Set objWord = Nothing
MsgBox j & "個のファイルを変換しました"

別名保存する際の[23]が 定数wdFormatOpenDocumentText になります。

タイトルとURLをコピーしました