• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:桁数を指定してファイルデータを読み込みたい)

桁数を指定してファイルデータを読み込む方法

このQ&Aのポイント
  • 桁数を指定してファイルデータを読み込む方法について教えてください。
  • ファイル内のデータは指定された桁数で記入されていますが、VBで読み込む方法がわかりません。
  • 求めている情報を教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.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 実際に試験してないので間違えてたらお許しください。

naggy_v
質問者

お礼

大変わかりやすいご回答ありがとうございます! 今からやってみたいと思います.

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

レコードの状態(改行コードとか復帰コードの入り具合)が説明されてなくて、困るのですが、旧DOSBasic時代に INPUT\ と言うのがあった。IOCSが読み取った文字を任意の数だけ返すと言うものでした。VBでも使えるかやって見てください。 (追記)¥がなくなって、VBでもINPUT関数で残っていた。s=INPUT(20,#1) 20は文字数(バイト数)。#1はファィル番号。 復帰コード、空白等はそのまま読むそうです。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

いくつか方法はあるでしょうが、とりあえず簡単に、なら。 Line Input で一行丸ごと読み込んでから、切り出しされては?

naggy_v
質問者

補足

一行丸ごと読み込んだ後の「切り出し」というのはどういう方法ですか? すみません,初心者なもので… よろしくお願いします...

関連するQ&A