ADODB.Stream3002 文件无法打开
ADODB.Stream 3002 File Could Not Be Opened
为什么我在 ADODB.Stream
中出现 'File could not be opened?' 错误
问题
我目前在下面的行 FileStream.LoadFromFile fileCurrent.Path
上收到 Run-time error '3002': File could not be opened
。
我试过的
- 确保路径有效
- 使用立即数 window,我可以看到
?fileCurrent.Path
=
C:\Users\(puzzlepiece87)\Desktop\Test.txt
- 使用新的文本文件
- 我将 Test.txt 创建为一个空白文件,在其中键入 "Hello",按下 Enter,键入 "Goodbye",然后另存为 ANSI 默认值。
- 确保 class 模块中的过程不会造成任何伤害
- 我也在标准模块中尝试过
- 我尝试将其从 Personal.xlsb 移出到标准工作簿
- 使用标准工作簿有同样的问题
剩余问题
- 我做错了什么导致了 3002 错误?
- 我是否误解了
.LoadFromFile
的 FileName
参数?它说 here 它将接受 UNC 格式的任何有效路径和名称。
Class 模块 classReallyBigFiles
Option Explicit
Public Sub ReadLargeFile(ByVal fileCurrent As Scripting.File)
Dim FileStream As ADODB.Stream
Set FileStream = New ADODB.Stream
FileStream.Type = adTypeText
FileStream.LineSeparator = adCRLF
FileStream.Mode = adModeReadWrite
FileStream.Open
FileStream.LoadFromFile fileCurrent.Path
MsgBox FileStream.ReadText(-2)
FileStream.Close
End Sub
我 MCVE 太难了,遗漏了我以二进制形式打开文件的部分,然后在文件太大而无法通过该方法将整个文件内容保存到字符串时尝试 ADODB.Stream , 但我忘了先关闭二进制尝试。
为什么我在 ADODB.Stream
中出现 'File could not be opened?' 错误问题
我目前在下面的行 FileStream.LoadFromFile fileCurrent.Path
上收到 Run-time error '3002': File could not be opened
。
我试过的
- 确保路径有效
- 使用立即数 window,我可以看到
?fileCurrent.Path
=C:\Users\(puzzlepiece87)\Desktop\Test.txt
- 使用立即数 window,我可以看到
- 使用新的文本文件
- 我将 Test.txt 创建为一个空白文件,在其中键入 "Hello",按下 Enter,键入 "Goodbye",然后另存为 ANSI 默认值。
- 确保 class 模块中的过程不会造成任何伤害
- 我也在标准模块中尝试过
- 我尝试将其从 Personal.xlsb 移出到标准工作簿
- 使用标准工作簿有同样的问题
剩余问题
- 我做错了什么导致了 3002 错误?
- 我是否误解了
.LoadFromFile
的FileName
参数?它说 here 它将接受 UNC 格式的任何有效路径和名称。
Class 模块 classReallyBigFiles
Option Explicit
Public Sub ReadLargeFile(ByVal fileCurrent As Scripting.File)
Dim FileStream As ADODB.Stream
Set FileStream = New ADODB.Stream
FileStream.Type = adTypeText
FileStream.LineSeparator = adCRLF
FileStream.Mode = adModeReadWrite
FileStream.Open
FileStream.LoadFromFile fileCurrent.Path
MsgBox FileStream.ReadText(-2)
FileStream.Close
End Sub
我 MCVE 太难了,遗漏了我以二进制形式打开文件的部分,然后在文件太大而无法通过该方法将整个文件内容保存到字符串时尝试 ADODB.Stream , 但我忘了先关闭二进制尝试。