0
LOF返回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 在通過聲明FileBytes
爲Long
,但它不工作處處工作上面的示例功能LOF
。例如,在下面的行,既LOC
和LOF
正在返回0
Do Until Loc(FF) >= LOF(FF)
編輯3
不知何故,文件路徑被改變,因此Open FileFullQualifiedName For Binary Access Read As #f
是創造一個新的文件,並且顯然,LOF
是返回0
這個空文件
爲什麼FileBytes和LineCount被聲明爲雙?他們需要長 – rags
@rags它通過聲明長期工作,這意味着這個功能不會工作,如果文件大小> 2GB – bjan
@rags即使變量被宣佈爲長期它不是在所有的地方工作 – bjan