任意のcsvファイルを読み込んで そのレコードをテキストボックスに
表示したいのですが ※で「配列がありません」というエラーがでます。
Dim strNo As String
Dim strNm As String
Dim lngDatN As Long
Dim intFileNo As Integer
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Private Sub cmd_Click(Index As Integer)
〜
〜
〜
'ファイル読み込みボタン押下時
Case cmd(2)
'選択ファイル名の表示をクリア
CommonDialog1.FileName = ""
CommonDialog1.FilterIndex = 0
'ファイルの種類
CommonDialog1.Filter = "csvファイル(*.csv)|*.csv"
'ファイルを開くダイアログを表示する
CommonDialog1.ShowOpen
'CSV形式ファイルを変数毎に読み書きする
lngDatN = 0
'使用可能なファイルナンバーを取得
intFileNo = FreeFile
'シーケンシャル入力モードで list_01.csv をオープン
Open "M:\list_01.csv" For Input As #intFileNo
'EOF(intFileNo)が True になるまで実行
Do Until EOF(intFileNo)
'件数をカウント
lngDatN = lngDatN + 1
'変数を1個づつ追加宣言
ReDim Preserve strNo(lngDatN) As String・・・※
ReDim Preserve strNm(lngDatN) As String
'データを各変数に読込
Input #intFileNo, strNo(lngDatN), strNm(lngDatN)
Loop
'ファイルを閉じる
Close #intFileNo
'1番目のデータを表示
Text1.Text = strNo(1)
Text2.Text = strNm(1)
〜
〜
〜
End Sub
Dim strNo() As String
ついでに、
Dim strNm() As String
>Case cmd(2)
これは、大丈夫???
ありがとうございました。
表示はできるようになったのですが 任意のcsvファイルを読み込ませるには
↓のコードを どう訂正すればいいでしょうか?
'CSV形式ファイルを変数毎に読み書きする
lngDatN = 0
'使用可能なファイルナンバーを取得
intFileNo = FreeFile
'シーケンシャル入力モードで list_01.csv をオープン
Open "M:\list_01.csv" For Input As #intFileNo
'EOF(intFileNo)が True になるまで実行
Do Until EOF(intFileNo)
'件数をカウント
lngDatN = lngDatN + 1
'変数を1個づつ追加宣言
ReDim Preserve strNo(lngDatN) As String
ReDim Preserve strNm(lngDatN) As String
'データを各変数に読込
Input #intFileNo, strNo(lngDatN), strNm(lngDatN)
Loop
'ファイルを閉じる
Close #intFileNo
'シーケンシャル入力モードで list_01.csv をオープン
Open "M:\list_01.csv" For Input As #intFileNo
ってのを
Dim strInputFileName as String
Open strInputFileName For Input As #intFileNo
などにして、
strInputFileName
にファイルのフルパスを格納しては?
Dim strInputFileName as String
strInputFileName = "M:\list_01.csv" '←ここを変更する
Open strInputFileName For Input As #intFileNo
コモンダイアログ使ってる意味がないね
>>任意のcsvファイルを読み込ませるには
って言ってるけど、コードのコメントには
>>'シーケンシャル入力モードで list_01.csv をオープン
って思いっきり書いてあるし
コードをどこかからパクるのはいいけど、意味を理解しないと今後使えないよ
> 意味を理解しないと今後使えないよ
こうして、使えないプログラマが誕生するわけですね。
いなさんのコードに
> strInputFileName = "M:\list_01.csv" '←ここを変更する
の右辺の値に何を指定すればよいか考えましょう
ありがとうございました
この質問者、毎度なんだけどさぁ
どう解決したのか書いた方がいいよ
たぶん解決してないと思うけど
この質問者、↑の方もおっしゃるように、
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200507/05070003.txt
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200507/05070021.txt
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200507/05070060.txt
毎回いいかげんな対応ばかりされています。
本人の解決には役立っているのでしょうが、掲示板全体の為にはほとんど役立っていません。
もうこの名前の人には回答やめてスルーにしませんか?
上記のリンク、3つとも返事かいているんだなぁ〜。
ま、名前で攻撃するつもりは無いけど、
...さんの言うとおり、
お礼はともかく、解決報告はしてください。
> 問題の解決で恩恵を受けた人が、問題・解決・参照リンクなどを簡潔に記
述し、
> まとめとして投稿しましょう。
> 情報を送ってくれた人たちへのお礼も大事ですけれど、
> もっと大事なのは掲示板を支えている人々への情報のフィードバックです。
ツイート | ![]() |