查找文件夹/子文件夹名称时 MS Access VBA 运行时错误“13”类型不匹配
Posted
技术标签:
【中文标题】查找文件夹/子文件夹名称时 MS Access VBA 运行时错误“13”类型不匹配【英文标题】:MS Access VBA Run-time Error '13' Type Mismatch when looking up folder/subfolder names 【发布时间】:2020-04-24 14:38:16 【问题描述】:这是我在 MS Access 中使用的 VBA 代码(来自 Microsoft 的支持站点 - 未经编辑):
**
Private Sub Command3_Click()
Dim fso As New FileSystemObject
Dim f As Folder, sf As Folder, path As String
'Initialize path.
path = Environ("windir")
'Get a reference to the Folder object.
Set f = fso.GetFolder(path)
'Iterate through subfolders.
For Each sf In f.SubFolders
Debug.Print sf.Name
Next
End Sub
**
我还创建了目录 "C:\Test" 并尝试了 path = "C:\Test\" 和 path = "C:\Test" 我知道需要启用参考“Microsoft Scripting Runtime” - 确实如此。
代码编译没有错误。 尽管如此,当我尝试运行它时,我仍然收到运行时错误“13”类型不匹配。
还有什么我做错了吗?
【问题讨论】:
您的代码对我有用。错误发生在哪一行? 无法根据提供的信息进行复制。您的数据库中还有哪些其他代码? 哪一行有错误? 抱歉没有早点回来。非常感谢您的回复。错误发生在:Set f = fso.GetFolder(path) 【参考方案1】:尝试后期绑定
Private Sub Command3_Click()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim f As Object, sf As Object, path As String
'Initialize path.
path = Environ("windir")
'Get a reference to the Folder object.
Set f = fso.GetFolder(path)
'Iterate through subfolders.
For Each sf In f.SubFolders
Debug.Print sf.Name
Next
End Sub
【讨论】:
谢谢。我尝试了后期绑定。现在,我收到错误 '91 - 对象变量或未设置块变量。我做了一些环顾四周以找出原因,我很困惑。我还使用 path = "C:\Test\" 和 "C:\Test" 进行了测试,但仍然出现相同的错误。 脚本库似乎没有在您的系统上注册。所以试着关注***.com/questions/56396335/…上的答案以上是关于查找文件夹/子文件夹名称时 MS Access VBA 运行时错误“13”类型不匹配的主要内容,如果未能解决你的问题,请参考以下文章
使用 ODBC 从 Web 服务器连接到 MS Access 数据库时找不到数据源名称