| 
    
     |  | ▼会社員 さん: >kanabunさん
 >
 >ご提示頂いたサンプルソースでこちらのCSVファイルを読み込んだところ、
 >正常に2レコード(それぞれの2列目)を表示するダイアログが出ました。
 >kanabunさんのソースでは全く問題ないようです。
 >大変参考になりました。ありがとうございました。
 >
 >こちらのソースのどこに問題(差)があるのか未だ分かりませんが・・
 >現在検証中です。
 
 かみちゃんさん
 kanabunさん
 
 問題が解消しました。手厚いサポートを頂き本当にありがとうございました。
 2レコード目がうまく取得できなかった主な原因は「FieldInfo」と「Array」を
 よく理解していなかった事による不当なCells().Value参照だったようです。
 Cells().Valueの全てを一旦ワーク領域に退避し、それを使用するようにしたところうまくいきました。具体的には以下のように対処しました。(これがBestかどうかは???ですが・・)
 
 
 Dim ksdt(1000, 100)
 Erase ksdt
 
 Dim FieldInfo(1 To 100)
 最大カラム = 100
 
 For i = 1 To 最大カラム
 FieldInfo(i) = Array(i, 2)
 Next
 ' 入力ファイルオープン
 myText = "inputdata.txt"
 Workbooks.OpenText myText, Origin:=932, _
 TextQualifier:=xlDoubleQuote, _
 DataType:=xlDelimited, _
 Tab:=False, Semicolon:=False, Comma:=True, _
 Space:=False, Other:=False, _
 FieldInfo:=FieldInfo
 ' 入力ファイルから取得したレコードデータを全て退避
 For i = 1 To 2
 For j = 1 To 最大カラム
 ksdt(i, j) = Cells(i, j).Value
 Next
 Next
 
 本当にありがとうございました。
 以上
 
 |  |