任意の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つとも返事かいているんだなぁ〜。
ま、名前で攻撃するつもりは無いけど、
...さんの言うとおり、
お礼はともかく、解決報告はしてください。
> 問題の解決で恩恵を受けた人が、問題・解決・参照リンクなどを簡潔に記
述し、
> まとめとして投稿しましょう。
> 情報を送ってくれた人たちへのお礼も大事ですけれど、
> もっと大事なのは掲示板を支えている人々への情報のフィードバックです。
| ツイート | 
        
         |