- ベストアンサー
桁数を指定してファイルデータを読み込む方法
- 桁数を指定してファイルデータを読み込む方法について教えてください。
- ファイル内のデータは指定された桁数で記入されていますが、VBで読み込む方法がわかりません。
- 求めている情報を教えていただきたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 「切り出し」というのはどういう方法ですか? 項目の区切り文字があるようにみえませんのでMidB関数を使用してください。 もともと例示されているレコードフォーマットが不明ですが、以下のようにすることで7項目読みだせます。 ループ制御は考慮してませんのであしからず。 また各項目とも文字型です。数値型への変換は、がんばってくださいね。 MidとMidBの違いなどはヘルプなどで把握してください。 Dim strBuffer As String Dim nFile As Long Dim strField1 As String Dim strField2 As String Dim strField3 As String Dim strField4 As String Dim strField5 As String Dim strField6 As String Dim strField7 As String nFile=FreeFile Open "C:\TEST.TXT" For Input As #nFile LineInput #nFile, strBuffer strField1 = MidB(strBuffer, 1, 10) strField2 = MidB(strBuffer, 11, 10) LineInput #nFile, strBuffer strField3 = MidB(strBuffer, 1, 5) strField4 = MidB(strBuffer, 6, 5) LineInput #nFile, strBuffer strField5 = MidB(strBuffer, 1, 10) strField6 = MidB(strBuffer, 11, 10) strField7 = MidB(strBuffer, 21, 10) Close #nFile End 実際に試験してないので間違えてたらお許しください。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
レコードの状態(改行コードとか復帰コードの入り具合)が説明されてなくて、困るのですが、旧DOSBasic時代に INPUT\ と言うのがあった。IOCSが読み取った文字を任意の数だけ返すと言うものでした。VBでも使えるかやって見てください。 (追記)¥がなくなって、VBでもINPUT関数で残っていた。s=INPUT(20,#1) 20は文字数(バイト数)。#1はファィル番号。 復帰コード、空白等はそのまま読むそうです。
- bin-chan
- ベストアンサー率33% (1403/4213)
いくつか方法はあるでしょうが、とりあえず簡単に、なら。 Line Input で一行丸ごと読み込んでから、切り出しされては?
補足
一行丸ごと読み込んだ後の「切り出し」というのはどういう方法ですか? すみません,初心者なもので… よろしくお願いします...
お礼
大変わかりやすいご回答ありがとうございます! 今からやってみたいと思います.