
TextStreamオブジェクトのSkipメソッドについてです。
Skipメソッド
概要
ファイルから指定した文字数をスキップして読み込みます。
構文
TextStreamObject.Skip
VBAサンプル
指定したファイルからExcelに1行ずつ書き込む
まずFileSystemObjectをセットし、FileSystemObjectのOpenTextFileメソッドで指定したファイルを開きTextStreamオブジェクトをセットして、TextStreamオブジェクトのSkipメソッドで4文字分スキップさせて5文字目からReadLineメソッドで1行文字を読み込みます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Sub test() '変数 Dim fso As Object, ts As Object 'FileSystemObjectをセット Set fso = CreateObject("Scripting.FileSystemObject") 'TextStreamオブジェクトをセット Set ts = fso.OpenTextFile("D:\sample\test.txt", ForReading) 'TextStreamオブジェクトのSkipメソッドで5文字目から読み込む Debug.Print ts.Skip(4) & ts.ReadLine 'ファイルを閉じる ts.Close End Sub |
【結果】
5文字目から読み込みます。
応用
TextStreamオブジェクトのAtEndOfStreamプロパティでファイルポインターがファイルの末尾かを判断しながら、毎行5文字目から繰り返し読み込みます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Sub test2() '変数 Dim fso As Object, ts As Object 'FileSystemObjectをセット Set fso = CreateObject("Scripting.FileSystemObject") 'TextStreamオブジェクトをセット Set ts = fso.OpenTextFile("D:\sample\test.txt", ForReading) 'TextStreamオブジェクトのAtEndOfStreamプロパティでファイルの末尾か判断 Do Until ts.AtEndOfStream 'TextStreamオブジェクトのSkipメソッドで5文字目から読み込む Debug.Print ts.Skip(4) & ts.ReadLine Loop 'ファイルを閉じる ts.Close End Sub |
【結果】
毎行5文字目から読み込みます。