Excel运行时错误13中的VBA:types不匹配

我想在Excel中打开一个文件对话框,以便用户可以select一个文件。 出于某种原因,我select了我想要的文件后,不断收到运行时错误。 这里是代码:

Dim dartFile As String dartFile = Application.GetOpenFilename _ (Title:="Please choose DART output to open", _ FileFilter:="Excel Files *.xlsx* (*.xlsx*),") If dartFile = False Then MsgBox "No file selected.", vbExclamation, "Sorry!" Exit Sub Else 'Run the rest of the Sub End IF 

当我select一个有效的.xlsx文件时,popup错误,debugging器说这行有什么问题:

 If dartFile = False Then 

任何帮助,将不胜感激。

尽可能避免使用Variant数据types。

 Dim dartFile As String 

这是一个很好的声明, dartFile 一个String

当您退出对话框时,在即时窗格中返回True

 ?Application.GetOpenFilename() = "False" 

只是False"False" ,你就完成了。 ;)

问题是, Application.GetOpenFilename返回一个变体,你已经声明你的variables为一个string。 VBA然后不能比较你的string与布尔types。

尝试:

 Dim dartFile As as Variant