玄関へお回り下さい。
FileOpen 関数を使ってのCSVファイルの読み書き (2個)             (SNo.029)

1.CSVファイルを読み込み構造体の配列に保存する
2.CSV データを読み込みファイルに保存する
使用コントロール Button1  Button2
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
名前空間 : Microsoft.VisualBasic  モジュール : FileSystem
使用ファイルは準備しておくか 2.のファイルの保存で作成してから 1.を実行してください。
1.CSVファイルを読み込み構造体の配列に保存する

ファイルに保存との共通部分

'成績のデータ保存用構造体

Private Structure SeisekiDat   
   
Dim name As String          '生徒名
   
Dim kokugo As Single        '国語の点数
   
Dim suugaku As Single       '数学の点数
   
Dim eigo As Single          '英語の点数
End Structure
Private sd() As SeisekiDat

'-----------------------------------------------------------

Private Sub Button1_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button1.Click
'CSVファイルを読み込み構造体の配列に保存する
    '名前空間:  Microsoft.VisualBasic   モジュール:  FileSystem
   
Dim fileName As String = "../../seiseki.csv"    'ファイルのパス
   
Dim fileNo As Integer = FreeFile()              'ファイル番号を取得
   
Dim n As Integer
    'ファイルを入力モードで開く
    FileOpen(fileNo, fileName, OpenMode.Input)
   
Do Until EOF(fileNo)        'ファイルの最後までループ
       
ReDim Preserve sd(n)
        Input(fileNo, sd(n).name)   
'ファイルから読み込み
        Input(fileNo, sd(n).kokugo)
        Input(fileNo, sd(n).suugaku)
        Input(fileNo, sd(n).eigo)
        Debug.WriteLine(sd(n).name & vbTab & sd(n).kokugo & vbTab & _
                                      sd(n).suugaku & vbTab & sd(n).eigo)
        n += 1
   
Loop
    FileClose(fileNo)               
'ファイルを閉じる
    '出力結果
        '浅野  純子 63 69 87
        '足立  由美 77 69 85
        '加藤  愛子 80 91 92
        '斉藤  正樹 79 84 70
End Sub

2.CSV データを読み込みファイルに保存する
   

Private Sub Button2_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button2.Click
'CSV データを読み込みファイルに保存する
   
Dim fileName As String = "../../seiseki.csv"    'ファイルのパス
   
Dim fileNo As Integer = FreeFile()              'ファイル番号を取得
   
ReDim sd(3)
   
Dim i As Integer
    'データの作成
    sd(0).name = "浅野  純子" : sd(0).kokugo = 63 : sd(0).suugaku = 69 : sd(0).eigo = 87
    sd(1).name = "足立  由美" : sd(1).kokugo = 77 : sd(1).suugaku = 69 : sd(1).eigo = 85
    sd(2).name = "加藤  愛子" : sd(2).kokugo = 80 : sd(2).suugaku = 91 : sd(2).eigo = 92
    sd(3).name = "斉藤  正樹" : sd(3).kokugo = 79 : sd(3).suugaku = 84 : sd(3).eigo = 70

    'ファイルを出力モードで開く
    FileOpen(fileNo, fileName, OpenMode.Output)
   
For i = 0 To 3
        Write(fileNo, sd(i).name)           
'ファイルへ書き込む
        Write(fileNo, sd(i).kokugo)
        Write(fileNo, sd(i).suugaku)
        WriteLine(fileNo, sd(i).eigo)     
'最後の列はWriteLineで書き込む
   
Next i
    FileClose(fileNo)   
'ファイルを閉じる
'結果  メモ帳でファイルを開いた状態です。
    '  "浅野  純子",63,69,87
    '  "足立  由美",77,69,85
    '  "加藤  愛子",80,91,92
    '  "斉藤  正樹",79,84,70
End Sub





2004/04/26
2005/09/14


VBレスキュー(花ちゃん)
VB.NET2003  VB2005