開いているファイルのサイズ・位置の取得(LOF 関数・Loc 関数)
2016/01/04
LOF 関数
Open ステートメント により開かれたファイルのサイズをバイト単位を表す長整数型(Long)の値で取得するには、LOF 関数を使用します。
<取得>
result = LOF ( filenumber )
引数・戻り値
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- result ・・・ ファイルサイズ(バイト単位)を表す長整数型(Long)の値。
開いていないファイルのサイズを取得するには FileLen 関数 を使用します。
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- result ・・・ ファイルサイズ(バイト単位)を表す長整数型(Long)の値。
開いていないファイルのサイズを取得するには FileLen 関数 を使用します。
Loc 関数
Open ステートメント により開かれたファイル内の現在の読み取り位置または書き込み位置をあらわす長整数型(Long)の値を取得するには、Loc 関数を使用します。
<取得>
result = Loc ( filenumber )
引数・戻り値
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- result ・・・ 現在の読み取り位置または書き込み位置を示す長整数型(Long)の値で、Open ステートメントを使用してファイルを開く時のモードにより以下のとおりになります。
モード
result の内容
ランダムアクセスモード(Random)
最後に読み取りまたは書き込みを行ったレコードの番号
バイナリモード(Binary)
最後に読み取りまたは書き込みを行ったバイトの位置
シーケンシャル入力モード(Input)
シーケンシャル出力モード(Output)
追加モード(Append)
ファイル内の現在のバイト位置を 128 で割った値。
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- result ・・・ 現在の読み取り位置または書き込み位置を示す長整数型(Long)の値で、Open ステートメントを使用してファイルを開く時のモードにより以下のとおりになります。
モード result の内容 ランダムアクセスモード(Random) 最後に読み取りまたは書き込みを行ったレコードの番号 バイナリモード(Binary) 最後に読み取りまたは書き込みを行ったバイトの位置
シーケンシャル入力モード(Input)
シーケンシャル出力モード(Output)
追加モード(Append)ファイル内の現在のバイト位置を 128 で割った値。
LOF 関数・Loc 関数 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Sub Sample_LOF_Loc() Dim FileName As String Dim FNum As Integer Dim str As String Dim mySize As Integer FileName = "C:\Documents\mydata\file01.txt" FNum = FreeFile 'ファイルをバイナリモードで開く Open FileName For Binary As #FNum '20文字分を取得し 変数 str に格納 str = Input(20, #FNum) '現在の読み取り位置とファイルのサイズを表示 '(いずれもバイト単位) MsgBox Loc(FNum) & " / " & LOF(FNum) & " バイト" 'ファイルを閉じる Close #FNum End Sub |
実行結果
関連記事
-
-
ディレクトリまたはフォルダの削除(RmDir ステートメント)
ディレクトリまたはフォルダの削除 ディレクトリまたはフォルダを削除するには、Rm …
-
-
開いているファイルの読み取り位置または書き込み位置を設定(Seek ステートメント)
Seek ステートメント Open ステートメント で開いているファイルで、次に …
-
-
テキストファイル:データを読み込む(Get ステートメント)
Get ステートメント Open ステートメント をランダムアクセスモード(Ra …
-
-
FileDialog オブジェクトを取得する(FileDialog プロパティ)
FileDialog プロパティ FileDialog オブジェクト を取得しま …
-
-
テキストファイル(Open ステートメント・Close ステートメント)
新規ブックを開かずにテキストファイルを開く OpenText ステートメント を …
-
-
FileDialogFilters コレクション・FileDialogFilter オブジェクト
FileDialogFilters コレクション FileDialog オブジェ …
-
-
組み込みダイアログボックスの引数一覧
組み込みダイアログボックスの引数一覧 Excel の組み込みダイアログボックスを …
-
-
「名前を付けて保存」ダイアログボックスを表示(GetSaveAsFilename メソッド)
GetSaveAsFilename メソッド 「名前を付けて保存」ダイアログボッ …
-
-
フォルダ名・ファイル名を変更(Name ステートメント)
フォルダ名およびファイル名を変更 Name ステートメント で、ファイル、ディレ …
-
-
テキストファイル:出力する 1 行の幅を設定(Width # ステートメント)
Width # ステートメント Open ステートメント をシーケンシャル出力モ …