INNOBASE技術ブログ

技術的なことエンジニア的なこと制作的なこと全般

大量のwordファイルをtxtファイルに変換するマクロ

概要

うっかり納品形式指定し忘れたり 原稿がword (*.docx)で納品されたけどscriptで一括登録したいからtxtファイルに変換したい。
そんなシーンに遭遇する人ゼロではないでしょう。
word にはtxt保存機能があるので一つ一つ開いて保存しなおしても良いのですが、大量にあると大変です。
そんな時に便利なVBAを必要に迫られて作成したので公開しておきます。

マクロ

Sub docx2txtマクロ()
'
' docx2txt Macro
'
'
Dim wordFile As String, msg As String, txtFileName As String, hoge As String
wordFile = Dir("C:¥before_docx¥*.docx")
Do While wordFile <> ""
    txtFileName = "C:¥conver_txt¥" & Replace(wordFile, ".docx", ".txt")
    wordFile = "C:¥before_docx¥" & wordFile
    Documents.Open wordFile
    Documents(wordFile).Activate
    ActiveDocument.SaveAs2 FileName:=txtFileName, FileFormat:=wdFormatDOSTextLineBreaks
    ActiveDocument.Close
    msg = msg & txtFileName & vbCrLf
    wordFile = Dir()
Loop
MsgBox msg

End Sub

GitHub上ではこちら mr51/docx2txt · GitHub

あとがき

officceファイルの操作はなんだかんだVBAがお手軽、wordでもマクロが使えることを覚えておくと何かと便利だと思います。