Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA:打开工作簿时类型不匹配?_Excel_Ms Access_Vba - Fatal编程技术网

Excel VBA:打开工作簿时类型不匹配?

Excel VBA:打开工作簿时类型不匹配?,excel,ms-access,vba,Excel,Ms Access,Vba,我不认为这听起来很愚蠢,但它以前是有效的。我不知道为什么它突然停止工作。我试图退出Excel并重新运行代码。无论我试图打开什么工作簿,都存在相同的问题。代码如下: Sub Check() Dim myFile As Variant Dim wb As Workbooks myFile = Application.GetOpenFilename(Title:="Please Choose the Info File") If myFile = False Then End End I

我不认为这听起来很愚蠢,但它以前是有效的。我不知道为什么它突然停止工作。我试图退出Excel并重新运行代码。无论我试图打开什么工作簿,都存在相同的问题。代码如下:

Sub Check()

Dim myFile As Variant
Dim wb As Workbooks

myFile = Application.GetOpenFilename(Title:="Please Choose the Info File")

If myFile = False Then
    End
End If

Set wb = Workbooks.Open(myFile) '<-- Getting "Run-time error '13': Type mismatch

End Sub
子检查()
Dim myFile作为变量
将wb设置为工作簿
myFile=Application.GetOpenFilename(标题:=“请选择信息文件”)
如果myFile=False,则
终点
如果结束

设置wb=Workbooks.Open(myFile)变量定义不正确

改变

Dim wb As Workbooks
奇异的

Dim wb As Workbook

事实上,我很惊讶VBE允许
Dim
任何东西,比如
工作簿
VarType(wb)
在这两种情况下都返回9->Object。我发现它可以通过收集任何特定对象来完成。@RyszardJędraszyk
工作簿
是一个类。您可以将该类型放入
Dim
语句的
As
子句中,这是多么令人惊讶啊?简单的变量声明错误。见答案。我怀疑它只是停止工作-可能是复制/粘贴错误???