テキストファイルの特定項目の抜き出し 条件スクリプトを記述することにより、テキストファイルの特定項目を抜き出すことができます。 ■テキストファイルを開く(下線が省略値) OpenTextFile(ファイル名[,入出力モード]) <入出力モード> 1:入力(読取)モード 2:出力(書込)モード 8:追加出力モード ■テキストファイルの内容を1行だけ読み込む ReadLine 引数を取りません。 ■ファイルの末尾をチェックする AtEndOfStream ファイルポインタの位置がファイルの末尾に達するとTrueを返します。 ■現在処理している行番号を確認する Line ■1行をスキップする SkipLine 1 行とは、改行文字で終わる一連の文字列のことです。 読み込みモードで開いた場合にのみ使用できます。 ■文字列を区切り文字で分割する Split(文字列[,区切り文字]) それぞれの内容は Field という(0)から開始する配列に格納されます。 ■テキストファイルの内容を指定した文字数だけ読み込む Skip 移動させる文字数 ※バイト数ではなく、文字数を指定します。 Read(読み込む文字数) 行No,商品コード,単価,数量 1,AB1-01,1000,10 2,AB2-02-002,2000,20 3,AB3-03,3000,30 C:¥WebEDI¥Data¥Jyuchu.csv の3行目 (1行目は列名)の2つ目の項目(AB2-02-002)を メッセージボックスに表示します。 Ret = False Const ForReading = 1 Dim fso, InFile, curLine ' Set fso = CreateObject("Scripting.FileSystemObject") Set InFile = fso.OpenTextFile("C:¥WebEDI¥Data¥Juchu.csv",ForReading) ' Do Until InFile.AtEndOfStream: If InFile.Line = 3 Then curLine = InFile.ReadLine: Field = Split(curLine,","): MsgBox Field(1): Exit Do: Else: InFile.SkipLine: End If: Loop: ' Set InFile = Nothing Set fso = Nothing 001AB1-01 1000 002AB2-02-002 2000 003AB3-03 3000 C:¥WebEDI¥Data¥Jyuchu_t.txt の2行目の 4文字目から10文字(AB2-02-002)を メッセージボックスに表示します。 Do Until InFile.AtEndOfStream: If InFile.Line = 2 Then InFile.Skip 3: aField = InFile.Read(10): MsgBox aField: Exit Do: Else: InFile.SkipLine: End If: Loop: <Autoブラウザ名人 Ver3.3~> 10 20 30 値の取得部分を左記のように変更します。 該当する行の最初の3文字をスキップし、 次に続く10文字を取得しています。 以外はCSVファイルと同様の記述を行います。 31 ユーザックシステム株式会社
© Copyright 2024 Paperzz