CSVファイルを読み込みExcelで出力するには?

解決


しん  2001-12-21 18:22:47  No: 103912

たびたびすいませんがまた疑問が出てきたので質問させてください。
書籍やホームページを見てプログラム作成したのですが

サンプル
    'Excelへの参照
    Set xlsApp = CreateObject("Excel.Application")
    'Excelにブックを追加
    Set xlsBook = xlsBook.Sheets("Sheet1")
    '読み込むcsvファイル名
    strFileName = "test.csv"
    '空いているファイル番号を取得
    intFileNo = FreeFile
    'csvファイルを開く
    Open strFileName For Input As intFileNo
    'ファイルの最後に達するまでループ
    Do Until EOF(intFileNo)
        '読み込んだ行数をカウント
        intRow = intRow + 1
        '1行分のデータを読み込む
        For intCol = 1 To 5
            'ファイルから読み込んだ内容を変数に保存
            Input #intFileNo, strRecBuff
            '変数の内容をExcelに送る
            xlsSheet.Cells(intRow, intCol) = strRecBuff
        Next
    Loop
    'Excelを表示
    xlsBook.Application.Visible = True
    'csvファイルを閉じる
    Close intFileNo
    'オブジェクトを解放
    Set xlsSheet = Nothing
    Set xlsBook = Nothing
    Set xlsApp = Nothing

データの二列目から四列目のデータを取得するには
        For intCol = 1 To 5  を

        For intCol = 2 To 4と変えればいいのですか?
あとデータを36件まで取得したいのですがどうしたらいいですか?
教えてくださいお願いします。


SPIKE  2002-01-07 07:43:03  No: 103913

>あとデータを36件まで取得したいのですがどうしたらいいですか?
『36件』の意味が36行のことをさしているのであれば、読み込むファイルの最後の行までLOOPで繰り返されていますよね。
「Do Until EOF(intFileNo)」の部分です。
また、「intRow = intRow + 1」で、ご丁寧に読み込んで処理した行数まで加算しています。36行まで『しか』読みたくないのであれば、この変数を使用して読み込みを止めることも可能なのはお分かりになると思います。
シンプルなサンプルなので、数値を変えるだけなく、一行づつキチンと意味を理解しながら解読していくと力がつくと思いますよ。

では


しん  2002-01-10 01:46:14  No: 103914

SPIKEさん返事が送れて申し訳ありません。

変数を使用してなんとか作成する事が出来ました。
どうもありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加