Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3318 / 13644 ツリー ←次へ | 前へ→

【62930】csvファイルの読み込み いも9656 09/9/22(火) 12:01 質問[未読]
【62931】Re:csvファイルの読み込み kanabun 09/9/22(火) 18:56 発言[未読]

【62930】csvファイルの読み込み
質問  いも9656 E-MAIL  - 09/9/22(火) 12:01 -

引用なし
パスワード
   VBAを使用して、csvファイルを読み込もうとしています。
本サイトの『◆CSVファイルの読み込み』を参照しましたが、
読み込んだデータは配列に入れて、セル(表)に一気に代入する方法とは違い、
csvファイルの所定箇所(ex:3番目と21番目のみ)を構造体にセットする方法を教えてください。

【62931】Re:csvファイルの読み込み
発言  kanabun  - 09/9/22(火) 18:56 -

引用なし
パスワード
   ▼いも9656 さん:
こんにちは。

>読み込んだデータは配列に入れて、セル(表)に一気に代入する方法とは違い、
>csvファイルの所定箇所(ex:3番目と21番目のみ)を構造体にセットする方法を教えてください。

どのようなCSVデータですか?
とくに、文字列データはダブルクォート("")で囲まれているのですか?
文字列でもダブルクォートは付いていない裸のデータですか?

擬似コードですが、

Type 構造体
 a As String
 b As Double
End Type

と宣言しておいて

Dim REC() As 構造体
'行数(レコード数)取得  ()
Redim REC(1 to 行数)

Do Until EOF(io) '変数io はI/O ファイルハンドル
  i = i + 1
  '3番目と21番目のみを構造体にセットする
  Input #io, dm, dm, REC(i).a, dm, dm, ........... , REC(i).b, ......
Loop

のような方法が考えられます。
Input #ステートメントで読み込むので、ちょっと時間がかかりますが。

ダブルクォートなしの裸のデータの羅列でしたら、
一気に配列に格納しておいて、必要な列だけ構造体?配列に転記し直しても
いいでしょう。

3318 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free