0

LOF は 0 を返します。

ここにファイルがあります

ここに画像の説明を入力

ここにサンプル関数があります

Public Function GetNumberOfLinesInFile(ByVal FileFullQualifiedName As String) As Double
Dim f As Integer
Dim FileBytes As Double
Dim LineCount As Double

f = FreeFile(0)
Open FileFullQualifiedName For Binary Access Read As #f
FileBytes = LOF(f)
'//CODE MISSING
Close #f
GetNumberOfLinesInFile = LineCount
End Function

編集 では動作しないBinary Accessようですが、次のようにファイルを開くと正常に動作しています

Open FileFullQualifiedName For Input Access Read As #f

編集2 上記のサンプル関数では、としてLOF宣言することで機能しましたが、どこでも機能しているわけではありません。たとえば、次の行では、との両方が返されています。FileBytesLongLOCLOF0

Do Until Loc(FF) >= LOF(FF)

編集 3

どういうわけか、ファイルパスが変更されたためOpen FileFullQualifiedName For Binary Access Read As #f、新しいファイルが作成され、明らかに、この空のファイルLOFに戻っていました0

4

1 に答える 1