VBAのLoc関数について解説しています。
Loc関数は、VBA関数の中でファイル・フォルダに関する関数に分類される関数です。
Loc関数は、開いたファイル内の現在の読み込み位置または書き込み位置を示す長整数型 (Long) の値を返します。
構文 | Loc(filenumber) | |
---|---|---|
引数 | 省略 | 説明 |
filenumber | × | 引数 filenumber には任意のファイル番号を示す整数型 (Integer) の値を指定します。 |
ファイル モード | 戻り値 |
---|---|
ランダム アクセス モード (Random) | ファイルに対して直前に入出力を行ったレコードの番号を返します。 |
シーケンシャル 入力モード (Input) | ファイル内の現在のバイト位置を 128 で割った値を返します。シーケンシャル ファイル入力モードのファイルに対する Loc 関数の戻り値です。 |
バイナリ モード (Binary) | 直前に入出力を行ったバイト位置を返します。 |
次の例は、Loc 関数を使って、開いているファイル内の現在の読み書き位置を返します。ファイル TESTFILE は、複数行のデータを含むテキスト ファイルと仮定します。
Sub Sample
Dim MyLocation, MyLine
Open "TESTFILE" For Binary As #1 ' 作成したファイルを開きます。
Do While MyLocation < LOF(1) ' ファイルの終端までループを繰り返します。
MyLine = MyLine & Input(1, #1) ' 文字を変数に代入します。
MyLocation = Loc(1) ' ファイル内の現在位置を取得します。
Debug.Print MyLine; Tab; MyLocation ' イミディエイト ウィンドウに表示します。
Loop
Close #1 ' ファイルを閉じます。
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
関数名 | 内容 |
---|---|
CurDir | 指定したドライブの現在のパスを返します。 |
Dir | 指定したパターンやファイル属性と一致するファイルまたはフォルダの名前を返します。 |
EOF | ファイルの現在位置が末尾かどうかを調べて結果を返します。 |
FileAttr | ファイルから指定した種類の情報を返します。 |
FileDateTime | ファイルの作成日時または最後に修正した日を返します。 |
FileLen | ファイルのサイズを返します。 |
FreeFile | 指定したファイル番号の範囲から、次に使用可能なファイル番号を返します。 |
GetAttr | ファイルまたはフォルダの属性を返します。 |
Loc | 開いているファイルの読込位置または書き込み位置を返します。 |
LOF | 開いているファイルの長さを返します。 |
Seek | 開いているファイルの読込位置または書き込み位置を返します。 |
Tab | 文字の出力位置を移動します。 |
VarType | 変数の内容を示す値を返します。 |
↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。
VBAのIE操作入門↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。
こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。