|
こんにちは。始めまして
最近VBから遠ざかって忘れ欠けてますが、
多分で書き込みします。
桁ズレというより、読み込むレコード長の問題ですよね?
NEMOTOさんバイトとかわかりますでしょうか?
>Dim filedata As String * 31
この部分ですが、
filedataという変数は31バイト取りますよという宣言だったと思います。
全角文字とかは2バイトつまり、半角文字の1バイト、改行コード2バイト等を
混在の場合はそれらを考慮しないといけないと思います。
※型はもしかするとOS、アプリに依存する場合もあるかもです。
なので、どうしてもバイナリデータとして取得しないといけない
問題なのでしょうか?
1行単位で取得するだけで十分であれば以下のような感じでいいように
思います。(いや、VBAから離れてもまだまだ書けるもんですね)
Dim filenumber as Integer
Dim buf as String
filenumber = FreeFile
Open FName For Input Access Read As #filenumber
Do Until EOF(filenumber)
Line Input #filenumber, buf '1行単位に取得
Debug.Print("ここで取得したテキスト内容を処理")
Loop
Close #filenumber
|
|