DOBON.NET DOBON.NETプログラミング掲示板過去ログ

CSV、Excelのインポート

分類:[.NET]

こういうのは相手してくれないのかもしれませんがよろしくおねがいします
指定したファイルからデータを読み込みたいのですが、方法を教えてください
(.txt)ではありません

Dim lng_count As Long
Dim intFileNumber As Int16 = FreeFile()
Dim str_1() As String
Dim int_1() As Int16
Dim str_2() As String
Dim lng1 As Int16 = 0
FileOpen(1, "D:\fff.xls", OpenMode.Random, OpenAccess.Read)
Do Until EOF(1)

lng1 += 1
ReDim Preserve str_1(lng1)
ReDim Preserve int_1(lng1)
ReDim Preserve str_2(lng1)

'' 変数に格納
Input 1, str_Seimei(lng1), int_Kou(lng1), str_Sigoto(lng1)
Loop

close 1

ファイル番号を1番とし、ファイルを読み込んだものを変数に格納するほうほうなのですが、Inputのところでつまづいてしまいます。
第一引数には、ファイル番号を示すのでしょうか?
方法を教えてください。(答えを聞くようになると思いますが・・・。)

もうひとつ質問です。Redimに格納できる最大配列の数は60なのでしょうか?
よろしくお願いします
■No7472に返信(こっとんさんの記事)
> こういうのは相手してくれないのかもしれませんがよろしくおねがいします
> 指定したファイルからデータを読み込みたいのですが、方法を教えてください
> (.txt)ではありません
>
> Dim lng_count As Long
> Dim intFileNumber As Int16 = FreeFile()
> Dim str_1() As String
> Dim int_1() As Int16
> Dim str_2() As String
> Dim lng1 As Int16 = 0
> FileOpen(1, "D:\fff.xls", OpenMode.Random, OpenAccess.Read)
> Do Until EOF(1)
>
> lng1 += 1
> ReDim Preserve str_1(lng1)
> ReDim Preserve int_1(lng1)
> ReDim Preserve str_2(lng1)
>
> '' 変数に格納
> Input 1, str_Seimei(lng1), int_Kou(lng1), str_Sigoto(lng1)
> Loop
>
> close 1
>
> ファイル番号を1番とし、ファイルを読み込んだものを変数に格納するほうほうなのですが、Inputのところでつまづいてしまいます。
> 第一引数には、ファイル番号を示すのでしょうか?
> 方法を教えてください。(答えを聞くようになると思いますが・・・。)
>
> もうひとつ質問です。Redimに格納できる最大配列の数は60なのでしょうか?
> よろしくお願いします


第一引数は、intFileNumber

FileOpen(intFileNumber, "D:\fff.xls", OpenMode.Random, OpenAccess.Read)
Do Until EOF(intFileNumber)
。。。。。。
>
> 第一引数は、intFileNumber
>
> FileOpen(intFileNumber, "D:\fff.xls", OpenMode.Random, OpenAccess.Read)
> Do Until EOF(intFileNumber)
> 。。。。。。

返信ありがとうございます。

John氏の言うとおり、intFileNumberでも怒られてしまします。
この引数を受け付ける"input"がないため、オーバーロードに失敗しました
というメッセージが出てしまいます。
これはどういうことなのでしょうか?
input の書き方の問題ですね。
input の引数は二つしかないでしょ。

Input (intFileNumber,strline)
■No7476に返信(johnさんの記事)
> input の書き方の問題ですね。
> input の引数は二つしかないでしょ。
>
> Input (intFileNumber,strline)
>

そうなんですが、読み込んだデータを変数に格納するにはどうすればよろしいのですか?
CSVファイルなら、Split関数を利用してください。

EXCELなら、多分こんな方法はだめです。
■No7478に返信(johnさんの記事)
> CSVファイルなら、Split関数を利用してください。
> EXCELなら、多分こんな方法はだめです。

Splitなんかで済むほど世の中は甘くないわけで・・・
http://blogs.users.gr.jp/naka/articles/3862.aspx
Excelだとこのやり方は出来ないのですか?

Excelの方法もお聞きしたいです。
どこかにサンプルページがあったら教えてください
■No7489に返信(こっとんさんの記事)
> Excelだとこのやり方は出来ないのですか?
> Excelの方法もお聞きしたいです。

改行コードとかをそれほど、気にしないのなら別に構わないと思うけど。

> どこかにサンプルページがあったら教えてください

あのぅ... ちゃんと、中先生が投稿してくださってるのですから...。
中 博俊氏のところはCSV用のインポートなんですよね?
Excelのインポートでも出来るのでしょうか?
john氏の申してる"EXCELなら、多分こんな方法はだめです。"
がひっかかってずっとExcelのインポートのサンプルを探しています。
まだ試していないんで何とも言えないのですが、どうなんでしょうか?
Excelであれば、ADO.Net経由、Excelオブジェクト経由などありますが、大変ですよ?
しかも手入力結果ならきちんとセルに入っているかどうかも怪しいし・・・
とりあえずExcel ADO.Net 読み込みなどをキーに検索してみるといいでしょう。

http://www.google.co.jp/search?num=100&hl=ja&q=Excel+ADO.Net+%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF&lr=lang_ja
・・・え〜っと・・・。
CSVでファイルをインポートするようにします。(汗)
みなさんありがとうございました
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板