
お世話になります。
VB2008でiniファイルの中身を書き換えるプログラムを作っているのですが
↓コード
Dim LineLists As String
Dim FileObj As Object
Dim ListFile As String
Dim f As New Form2
If f.ShowDialog(Me) = DialogResult.OK Then
Vertext.Text = f.TextBox1.Text
End If
Try
FileObj = New IO.StreamReader(Foldername & "\CUS\Basic.ini", System.Text.Encoding.Default)
ListFile = FileObj.ReadToEnd()
FileObj.Close()
Catch ex As Exception
MessageBox.Show("指定のファイルが見つかりません", "エラー", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
LineLists = Split(ListFile, ControlChars.CrLf)
Dim ap As String
ap = LineLists(11).Substring(11, 3)
LineLists(11) = LineLists(11).Replace(ap, Vertext.Text)
LineLists(1) = LineLists(1).Replace("K ", "G")
LineLists(3) = LineLists(3).Replace("K", "G")
LineLists(3) = LineLists(3).Replace("C5", "45")
LineLists(69) = LineLists(69).Replace("Mos", "Gen")
LineLists(75) = LineLists(75).Replace("Mos", "Gen")
LineLists(81) = LineLists(81).Replace("Mos", "Gen")
LineLists(292) = LineLists(292).Replace("L.EXE", "DL.EXE")
LineLists(636) = LineLists(636).Replace("E_001=K_A.kmp", "E_001=KAA.kmp")
まずiniファイルを1行ずつ配列に格納し、それを行指定して文字列を置換するのですが、ちょうど最後の636のところでエラーが出ます。
最初は、テキストボックスに書き込み、置換する文字列を1行ずつ検索していって置換するコードでしたが、あまりに処理時間がかかるのでこちらの方法でやっているのですが・・・
上記の方法ではできましたが、こちらでやるとエラーが出てしまったので、解決策がわかりません。VB初めて2週間です。
どなたかよろしくおねがいします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
iniファイルが637行まで無いんじゃないかなぁ。
VBの場合配列の添え字は0~はじまるので(確か)
読み込んだレコード(行)の
1行目が、LineLists(0)
636行目が、LineLists(635)
になります。
iniファイルが636行だとすると、LineListsの配列の添え字は0~635ですよ。
全体的に1ずつずれていないでしょうか?
原因がわかりました。
デバックした後のiniファイルを見ると500行しかありませんでした。
どうやらLineListsの配列に500行分しかいれれないので、それ以降のものは入れれないみたいです・・・
違う方法でやってみます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
エクセルのVBAコードと数式につ...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
【VBA】 結合セルに複数画像と...
-
vbsでのwebフォームへの入力制限?
-
算術演算子「¥」の意味について
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
vb.net(vs2022)のtextboxのデザ...
-
ダブルクリックで貼り付けた画...
-
VBAの「To」という語句について
-
VBAでユーザーフォームを指定回...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】変数を使った、文字...
-
エクセルのVBAコードについて教...
-
ワードの図形にマクロを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報