
vb.netでCSVファイルからセルの文字列を読み込むプログラムを作成しているのですがLabel1.Text = strTemp1(1)の部分でインデックスが配列の境界外です。と表示されてしまい困っています。どうすればいいのか教えてください。
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim objFile1 As New System.IO.StreamReader("Z:\traindata\言語.csv", System.Text.Encoding.GetEncoding("shift_jis"))
'ファイルを指定して読み込むためのオブジェクト
Dim strLine1 As String 'ファイルから読み取った全駅名の文字列を格納する
Dim strTemp1() As String 'strLine1からデータを受け取り、配列にする
Dim strData1 As String 'strTemp1の配列したデータを受け取る
Dim Lineno1 As Integer 'CSVファイルから読み込みたい列の値を格納する
Dim linesta As Integer 'aを整数型で宣言をしてそれと同時にstrTempの配列を指定して、文字の最大値を返す。End Class
Lineno1 = 1 'CSVファイルから読み込みたい列を指定する
strLine1 = objFile1.ReadLine() 'objFile1に1行分の文字を読み込んで配列にして、strLine1に格納する
While (strLine1 <> "") 'strlineが空白""と等しくない限り処理を続ける
strTemp1 = Split(strLine1, ",") 'strLine1とカンマで区切られたファイルの文字列から配列を作成してstrtemp1に格納する
For intCnt = 0 To UBound(strTemp1) 'カウンタintcatが0からstrtemp1の添字の最大値以下(csvファイルに入力された終着駅の行番号)である間,処理を繰り返し行う
strData1 = strData1 + strTemp1(intCnt) 'strData1にstrTemp1の配列カウンタintcatとstrData1を足して代入する
Next
If Lineno1 = 2 Then 'Lineno1に格納したCSVファイル内の空白を除いた文字列から2列目を指定して読み込む
Label1.Text = strTemp1(1) '(列車番号を示すLabel1の内容)
End If
' csvファイルを閉じる
strLine1 = objFile1.ReadLine() 'objFileを読み込んで配列にしてstrLineに格納する
Lineno1 = Lineno1 + 1 ' Lineno と 1を足してLinenoに代入する
End While
End Sub
End Class
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
表にフィルターをかけ、絞った...
-
エクセルで、絶対値の平均を算...
-
array関数で格納した配列の型を...
-
Excelのセルの色指定をVBAから...
-
配列がとびとびである場合の書き方
-
【VBA】ユーザーフォーム リス...
-
.NET - 配列変数を省略可能の引...
-
読み込みで一行おきに配列に格納
-
C#で配列のフィールドを取得したい
-
DataSetから、DataTableを取得...
-
エクセルVBA コンボボックスの...
-
ExcelのINDEXとMATCH関数でスピ...
-
[エクセル]連続する指定範囲か...
-
フォームから値の取得(BinaryR...
-
SUMPRODUCT関数を用いた最小値
-
Excel オートフィルタのリスト...
-
iniファイルのキーと値を取得す...
-
VBA-読み込んだテキストフ...
-
INDEX(D:D,L3)の意味は?
-
上位3つの和を求めるエクセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、絶対値の平均を算...
-
[エクセル]連続する指定範囲か...
-
表にフィルターをかけ、絞った...
-
ExcelのINDEXとMATCH関数でスピ...
-
Excelのセルの色指定をVBAから...
-
array関数で格納した配列の型を...
-
【VBA】ユーザーフォーム リス...
-
Excel オートフィルタのリスト...
-
配列がとびとびである場合の書き方
-
iniファイルのキーと値を取得す...
-
.NET - 配列変数を省略可能の引...
-
DataSetから、DataTableを取得...
-
読み込みで一行おきに配列に格納
-
エクセルでエラーを無視して一...
-
VBAでの100万行以上のデータの...
-
配列のSession格納、及び取得方...
-
Datatableへの代入
-
[VBA]改行入りのセルの値を配列...
-
SUMPRODUCT関数を用いた最小値
-
エクセル 条件を指定した標準...
おすすめ情報