VB.NET如何判断路径含可变未知部分的指定文件是否存在
错误原因分析
- 你对VBA
Dir函数的参数用法理解有误,这是报错的核心原因,并非通配符使用错误:Dir函数的标准语法为Dir([pathname], [attributes]),第一个参数是完整的路径+文件名匹配规则,第二个参数是可选的文件属性参数,你错误地把路径后缀和文件名规则拆成了两个独立参数传入,相当于把文件名匹配规则传给了本应接收属性值的第二个参数,自然会触发运行错误。 - 你在代码末尾加的
(0)下标也是错误用法:Dir函数返回的是符合规则的第一个文件名的字符串,不是数组,不需要加下标取值。
修正后的代码示例
' 先拼接完整的匹配路径 Dim searchPattern As String searchPattern = ProjectsFolder & ComboBox_ProjectType.Text & "\" & ProjectNumber & "\" & ProjectNumber & "_Rokasgramata\" & ProjectNumber & "*User Manual*.pdf" If Dir(searchPattern) = "" Then ' 文件不存在的逻辑 Else ' 文件存在的逻辑 End If
额外注意事项
- 如果路径中可能存在中文或特殊字符,建议拼接完成后先Debug输出
searchPattern确认路径是否符合预期,避免路径拼接错误导致匹配不到文件。 - 如果需要匹配多个符合规则的文件,第一次调用
Dir拿到第一个结果后,后续循环调用无参数的Dir即可拿到下一个匹配结果,直到返回空字符串。
内容的提问来源于stack exchange,提问作者Eduards
相关产品推荐
相关产品推荐

