投稿者 るきお  (社会人) 投稿日時 2016/2/22 22:16:13
こんにちは。

>CSVファイルに保存するときに、仮に「1850行目にlabel1のテキストを保存する」ということは可能なのでしょうか...?
可能ですが、あまりやらないですね。

基本的にはファイルのアクセスは先頭から末尾に向けて一方向にアクセスしていくもので、特定のポイントだけ読み込んだり、ましてや特定のポイントに文字列を挿入または上書きするということは非常に効率が悪くなります。

大きなデータの読み書きを行いたい場合はCSVのようなファイルではなく、データベースなどを使用します。

>よろしければ教えていただけると幸いです...。
それでもやろうとすると次のようになります。
基本的には、1849行目まで1行ずつ読み込んで、そのまま書き込んで、1850行目だけLabel1を書き込んで、1851行目以降はまた1行ずつ読み込んで書き込むというプログラムです。
ただし、同じファイルを読み込みながら書き込むことはできませんので、いったんファイル名を変更してから処理を開始しています。
'対象のファイル 
Dim fileName As String = "C:\vb\test.csv"

'対象ファイルを別名(newFileName)に変更 
Dim newFileName As String = IO.Path.ChangeExtension(fileName, "rename.csv")
IO.File.Move(fileName, newFileName)

'newFileNameから1行ずつ読んで fileNameに書き込んでいく。 
Using reader As New IO.StreamReader(newFileName)
    Using writer As New IO.StreamWriter(fileName, False)
        Do Until reader.EndOfStream
            '行数 
            Dim lineCount As Integer
            lineCount += 1
            Dim line As String = reader.ReadLine

            If lineCount = 1850 Then
                '1850行目だけはLabel1.Textを書き込む。 
                writer.WriteLine(Label1.Text)
            Else
                writer.WriteLine(line)
            End If
        Loop
    End Using
End Using

'別名(newFileName)で保存したファイルを削除 
IO.File.Delete(newFileName)


>高校生ということがあって夕方にしか返答することができません...
夜もやりましょうよ。
無償のVisual Studio Communityを自宅にインストールすれば最新版のVisual Basicで遊べますよ。