テキストの書いてるファイルをVBで開き、暗号化するプログラムを作っています。
.txtのファイルは正常に読込、テキストボックスに表示することができるのですが
Wordのファイルは正常に読み込めず、文字化けしてしまいます。
最初、1Byte文字のみを対象としたプログラムだったので、
どこかにまだ、byte型変数やBinaryなど使ってると重いしらべたのですが
使ってなく、原因がわかりません・・。
よかったら知恵をおかしください!お願いします
ファイルオープンの時点で文字化けするので、「ファイルを開く」のコードが間違っていると思われます。
そのコードを下に書きます。
Private Sub cmdOpen_Click()
'変数の定義
Dim TargetFileName As String
Dim readData As String
Dim temp As String
'読み込むファイル名の取得
If Right(Dir1.Path, 1) = "\" Then
TargetFileName = Dir1.Path & txtTargetFile.Text
Else
TargetFileName = Dir1.Path & "\" & txtTargetFile.Text
End If
'データの読み込み
readData = ""
Open TargetFileName For Input As #1
Do Until EOF(1)
'データを1行ずつ読み込む
Line Input #1, temp
readData = readData & temp
Loop
Close #1
'データを表示する
txtDisplayBox.Text = readData
End Sub
Wordファイルの中身は文字列以外に、それに付随するフォーマットが書かれています。
オールテキストではないので、Stringで読み込むと破壊された情報が入る場合があります。
…とりあえずバイナリエディタを使ってみるとうれしくなれると思います。
テキストかそうでないかを理解するだけなら
バイナリデディタでなくても
メモ帳などで開いてみるとただのテキストでないことがわかると思います
エクセル処理の関連のページは多いけどword→vbは少ない気もする
vb→wordは腐るほどあった w
http://dobon.net/vb/bbs/log3-9/5368.html
この辺とか参考になるでしょうか?
遅くなりましたがなんとかなりましたm(_)m
とても参考になりました!ありがとうございます!
ツイート | ![]() |