バイナリファイルをWordで解析する(ファイル修復コンバーター)


環境
Windows10
Word2016
ExcelVBAで作成したバイナリファイル

概要

 バイナリファイルをWindowsOfficeのみで読める方法を見つけました。
 必要なものはWordだけです。

 一太郎ファイルをWordで読む方法はこちら↓
https://qiita.com/harryyuni/items/7172efe01fc061337bd0

使ったバイナリファイル

バイナリファイルはExcelVBAのADODB.Streamを使用して作成しました。本筋から外れますが,以下のようなプロシージャです。

ExcelVBA
Sub output_binarydat()
    Dim wShell As Object
    Set wShell = CreateObject("wscript.shell")
    Dim dtpPath As String
    dtpPath = wShell.SpecialFolders.Item("Desktop")
    Dim txtFilePath As String
    txtFilePath = dtpPath & "\test.txt"

    Dim txtInfo As String
    Dim adoDbStream As Object
    Set adoDbStream = CreateObject("ADODB.Stream")
        With adoDbStream
        .Open
        .LoadFromFile txtFilePath
        txtInfo = .ReadText
        .Close
        End With

    Dim txtByte() As Byte
    txtByte = txtInfo
    Dim binaryFilePath As String
    binaryFilePath = dtpPath & "\unicode.dat"
        With adoDbStream
        .Type = 1
        .Open
        .Write txtByte
        .SaveToFile binaryFilePath, 2
        .Close
        End With
    Set adoDbStream = Nothing
End Sub

 文章は,一太郎のテンプレートをテキストファイルにコピペしました。

 これを前記プロシージャでバイナリに変換したのがこちらです。

いい具合に文字化けしていますね。もちろん,Wordで普通に開いても文字化けしています。

解析方法

[ファイル]→[開く]→[参照]でダイアログボックスを開きます。

 ファイル名の右の拡張子の選択リストボックスから,
「ファイル修復コンバーター(.)」又は
「recover text from any file(.)」を選択します。
(環境によって表示が異なるようです。)

 バイナリファイルを選択して[開く]

「修正個所の表示」というダイアログボックスが表示されますが,[閉じる]を押してください。

 復元されました。

まとめ

 もちろん,全てのバイナリファイルが解析できるとは言いません。
 ただ,officeのマクロなどで文字列をバイナリにして保存されたファイルの中には,Wordで開けるものもあるようです。
 一太郎ファイルもバイナリファイルも専用のアプリなしで開けるなんて,すごいぞ,ファイル修復コンバーター!
 ぜひ活用してみてください。