不能将dir函数与字符串变量和(*)符号

时间:2016-02-29 17:30:48

标签: excel-vba vba excel

我正在尝试将dir函数与(*)符号一起使用以自动完成部分路径名(在此示例中: Deskt - >桌面) 这是我试过的代码,但它说我遇到了语法错误:

Sub check()
    Dim folderpath As String
    folderpath = "C:\Users\levs\Deskt"
    MsgBox (Dir(folderpath*, vbDirectory))
End Sub

但是,如果我在不使用变量的情况下编写代码,它将起作用:

MsgBox (Dir("C:\Users\levs\Deskt*", vbdirectory)

那么可以使用具有此功能的变量吗?

非常感谢!

3 个答案:

答案 0 :(得分:1)

您需要进一步构建字符串:

MsgBox (Dir(folderpath & "*", vbDirectory))

答案 1 :(得分:0)

这是一种语法而不是另一种...

如果你这样做 folderpath = "myPath"然后变量 folderpath 是一个String,现在如果你执行类似 folderpath * 的操作,那么你使用一元运算符来保存一个字符串的变量...

请注意这是将字符串与“*”连接的完全不同的操作...() 在某些语言中可以是乘法运算符,但在其他语言中可能是更复杂的指针...

解决方案:

正确连接,即替换 <{p}} MsgBox (Dir(folderpath*, vbDirectory))

MsgBox (Dir(folderpath&"*", vbDirectory))

或事件更好地在声明中进行连接...

您的最终方法应如下所示:

Sub check()
Dim folderpath As String
   folderpath = "C:\Users\levs\Deskt*"
   MsgBox (Dir(folderpath, vbDirectory))
End Sub

答案 2 :(得分:0)

您需要连接widlcard和文件夹路径

sub check()
    Dim folderpath As String
    folderpath = "C:\Users\levs\Deskt"
    MsgBox (Dir(folderpath & "*", vbDirectory))
End Sub