我正在尝试从与我当前打开的工作簿相同的文件夹中的另一个电子表格中读取数据,每当我运行此代码时,我都会打开错误文件。我的语法或任何可能阻止这种情况发生的事情有问题吗?
这是代码。
Sub ReadFile()
Infile = ThisWorkbook.Path & "\smallDataset.csv"
Open Infile For Input As #1
Input #1, a, b
Close #1
Debug.Print (a & " " & b)
End Sub
感谢。
答案 0 :(得分:1)
尝试以下代码以确保没有使用句柄#1打开文件
Sub ReadFile()
InFile = ThisWorkbook.Path & "\smallDataset.csv"
Close #1
Open InFile For Input As #1
Input #1, a, b
Close #1
Debug.Print (a & " " & b)
End Sub
或者您使用Freefile获取下一个号码
Sub ReadFile
FileNumber = FreeFile
InFile = ThisWorkbook.Path & "\smallDataset.csv"
Open InFile For Input As FileNumber
Input #FileNumber, a, b
Close #FileNumber
Debug.Print (a & " " & b)
End Sub
答案 1 :(得分:0)
我也遇到了您所遇到的错误,这些是导致错误的可能原因。
1)CSV
与Excel
文件一起打开
2)您的代码有memory leaks
解决数字1
解决2号问题
CSV
对象。我不确定您的完整代码,但请检查您是否有类似Excel.Close
或Excel.Quit
的内容。