余り、やっている全容を示すのもと思って関係個所だけを提示して質問してきました。
しかし、回答者の方にとっては煩わしい質問の仕方。
ですから、今回は、全てを晒した上で質問します。
”列添字最大値”という記号定数を用いています。
現実のアプリケーションでは、これは良い方法だと思います。
しかし、それはそれ、これはこれです。
VB.NET の初学者の私は、<記号定数を用いない書き方>が知りたいところです。
この最終的な疑問が解消すれば、テキストの配列への呼び込み実験は終了。
宜しくお願いします。
' ==========================
' CSVReadToArray のテスト2
' ==========================
Const 列添字最大値 As Integer = 3
Sub Main()
Dim I As Integer' 行を参照するための For 文の変数
Dim J As Integer' 列を参照するための For 文の変数
'Dim K As Integer' 列(フィールドあるいは要素)の数
Dim aDatas As New List(Of String())()
Dim N = CSVReadToArray("D:\Temp\付属一覧.csv", aDatas) - 1
For I = 0 To N
For J = 0 To 列添字最大値
Debug.Print(aDatas(I)(J))
Next J
Next I
End Sub
' =============================================================
' CSV ファイルを配列に読み込む; TextFieldParser クラス版; 第2版
' =============================================================
Function CSVReadToArray(ByVal aFile As String, _
ByRef aRows As List(Of String())) As Integer
If File.Exists(aFile) Then
Try
Using MyReader As New TextFieldParser(aFile, Encoding.Default)
MyReader.TextFieldType = FieldType.Delimited
MyReader.Delimiters = New String() {","}
While Not MyReader.EndOfData
aRows.Add(MyReader.ReadFields())
End While
Return aRows.Count
End Using
Catch ex As FileIO.MalformedLineException
MsgBox(ex.Message & "(CSVReadToArray)", , "告知:")
Return 0
End Try
Else
Return 0
End If
End Function
No.1ベストアンサー
- 回答日時:
度々お邪魔させて頂きます。
'<記号定数を用いない書き方>
そのまま当てはめるなら
aDatas(I).GetUpperBound(0)
でしょうか。
ちょっと気になったのですが
Dim aDatas As New List(Of String())()
この宣言を
Dim aDatas As New List(Of String())
としては駄目なのでしょうか?
コードを見る限り大丈夫そうなのですが。
#いらぬ世話でしたら申しわけない。
ともかく、OKWaveの回答だけを手掛かりに何がなんだかわからないままで書き上げています。
ですから、<いらぬお世話>ではありません。
当方、プログラマでのなんでもないただのデザイナ。
ですから、<いらぬお世話>ではありません。
VB.NET の学習も既に33日目。
ようやく、MSDN の読むべき個所がチラリと見えてきました。
ですから、回答者頼りを少し改めたいとは思っています。
が、所詮は還暦を迎えた素人ですので限界があります。
今後とも宜しくお願いします。
なお、指摘の通りに修正しても動作しました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
表にフィルターをかけ、絞った...
-
ExcelのINDEXとMATCH関数でスピ...
-
Excelのセルの色指定をVBAから...
-
[エクセル]連続する指定範囲か...
-
array関数で格納した配列の型を...
-
【VBA】ユーザーフォーム リス...
-
エクセルで、絶対値の平均を算...
-
VBA listBoxについて
-
.NET - 配列変数を省略可能の引...
-
【VBA】配列に数式を仕込む方法...
-
配列のSession格納、及び取得方...
-
ExcelVBAの配列変数で一括でセ...
-
VB6.0 ファイルの一括読込み
-
Excelのオートフィルタで抽出し...
-
スプレットシートのGetTextにつ...
-
配列がとびとびである場合の書き方
-
16進数から2進数へ
-
Excel VBA 配列の分割について
-
テキストファイルを配列に
-
[VBA]改行入りのセルの値を配列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルの色指定をVBAから...
-
array関数で格納した配列の型を...
-
ExcelのINDEXとMATCH関数でスピ...
-
[エクセル]連続する指定範囲か...
-
エクセルで、絶対値の平均を算...
-
VBA listBoxについて
-
配列がとびとびである場合の書き方
-
表にフィルターをかけ、絞った...
-
VBA 配列に格納した値の平均の...
-
[VBA]改行入りのセルの値を配列...
-
エクセルでエラーを無視して一...
-
iniファイルのキーと値を取得す...
-
二次元配列の中の各行の要素を...
-
SUMPRODUCT関数を用いた最小値
-
【VBA】ユーザーフォーム リス...
-
Split関数でLong配列に格納する...
-
【VBA】配列に数式を仕込む方法...
-
.NET - 配列変数を省略可能の引...
-
スプレットシートのGetTextにつ...
-
Excelのオートフィルタで抽出し...
おすすめ情報