当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2008年9月3日水曜日

1行単位のファイルの読み込み

ファイルの読み込みの第二弾。1行単位で読み込む方法である。
Line Inputという命令を使えば良いだけである。

CSVファイルのように、1行全部を読み込んでしまうとデータの利用が難しいと思えるが、ちょっとしたコツを掴むと簡単にできる。

サンプルは、1行に何項目あるか分からないCSVファイルを読み込んで、1行当たり何項目あるのかと、その行の内容を画面に出力するものである。

Sub Click(Source As Button)
    Dim fileNum As Integer    'ファイル番号
    Dim dt As String        '1行分のCSVデータ
    Dim n As Integer        '","の位置
    Dim i As Integer        '1行当たりの","の数
    
    '出力用にファイルをオープンする
    fileNum = Freefile()
    Open "c:\test.csv" For Input As #fileNum
    
    '全文書数分の繰り返し
    Do While Not Eof( fileNum )
        'ファイルから読み込む
        Line Input #fileNum, dt
        
        n =1
        i = 0
        '","の位置を検索する
        Do While n <> 0
            n = Instr( n, dt, "," )
            If n <> 0 Then n = n + 1
            i = i + 1
        Loop
        Msgbox dt, 0, "この行は、" & Cstr(i) & "項目あります"
    Loop
    
    'ファイルをクローズする
    Close #fileNum
End Sub



Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

1 件のコメント:

たむ さんのコメント...

この記事お世話になりました。