我正在使用vba宏在文本文件中查找大字符串。 爲此,我讀取文本文件,閱讀要比較的文本(將其保存在單元格中的一個單元格中)。之後,我會用CR替換CRLF(因爲保存的文本不包含CRLF)。然後比較。它的工作很好,如果文件大小更少。但是當文件大小很高(大約50 KB很好)時拋出錯誤。 有關文件最大大小的任何猜測?VBA Excel宏錯誤:1004無法獲得WorkbooFunction類的替代屬性
代碼的下面部分被投擲的錯誤
Open LogFilePath For Input As #iFile
strFileContent = Input(LOF(iFile), iFile)
Close #iFile
strFileContent = Application.WorksheetFunction.Substitute(strFileContent, vbCrLf, "")
strSearch = Application.WorksheetFunction.Substitute(strSearch, vbLf, "")
strFileContent = Application.WorksheetFunction.Substitute(strFileContent, vbTab, " ")
If InStr(1, strFileContent, strSearch, vbBinaryCompare) > 0 Then
SearchTextFile = "success"
Else
SearchTextFile = "failed"
End If
任何猜測或建議,請。
我剛剛測試過,第一個參數(也可能是其他參數)的大小有32,767字節的限制。我很驚訝你已經設法讓一個50Kb的文件工作。正如@AndyW在回答中所建議的那樣,使用VBA的'Replace'函數而不是'Application.WorksheetFunction.Substitute'。 – YowE3K
單元格可以包含的字符總數:32,767個字符。所以我認爲'替代品'也是有限的。請參閱[Excel規範和限制](https://support.office.com/en-us/article/Excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3) –
非常感謝您爲答覆。我正在嘗試大小超過200KB的文件。現在我檢查了32767byte和32768字節。 32768顯示錯誤,但32767沒有顯示任何錯誤 – user3710272