Loc関数

Loc関数は、VBA関数の中でファイル・フォルダに関する関数に分類される関数です。

目次

スポンサー リンク

Loc関数とは

Loc関数は、開いたファイル内の現在の読み込み位置または書き込み位置を示す長整数型 (Long) の値を返します。

構文Loc(filenumber)
引数省略説明
filenumber ×引数 filenumber には任意のファイル番号を示す整数型 (Integer) の値を指定します。

返り値

各ファイル アクセス モードの戻り値は次のとおりです。
ファイル モード戻り値
ランダム アクセス モード (Random) ファイルに対して直前に入出力を行ったレコードの番号を返します。
シーケンシャル 入力モード (Input) ファイル内の現在のバイト位置を 128 で割った値を返します。シーケンシャル ファイル入力モードのファイルに対する Loc 関数の戻り値です。
バイナリ モード (Binary) 直前に入出力を行ったバイト位置を返します。

Loc関数のサンプルコード

次の例は、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についてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。