LoginSignup
0
0

More than 3 years have passed since last update.

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

Posted at

環境
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

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

 これを前記プロシージャでバイナリに変換したのがこちらです。
image.png
いい具合に文字化けしていますね。もちろん,Wordで普通に開いても文字化けしています。

解析方法

[ファイル]→[開く]→[参照]でダイアログボックスを開きます。
2020-09-05 (1).png

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

 バイナリファイルを選択して[開く]
2020-10-05 (3).png

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

 復元されました。
image.png

まとめ

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0