VBA-如何为驱动器的根目录创建命名空间?

VBA-如何为驱动器的根目录创建命名空间?,vba,Vba,如何创建表示驱动器根目录的命名空间?例如,我想要ParseName一个位于C的根目录中的文件名 Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace("C:\\") Set objFile = objFolder.ParseName("foo.jpg") objFolder设置为null/nothing我在2005年微软Access MVP的Dirk Goldgar的谷歌搜索中找到

如何创建表示驱动器根目录的命名空间?例如,我想要
ParseName
一个位于C的根目录中的文件名

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace("C:\\")
Set objFile = objFolder.ParseName("foo.jpg")

objFolder设置为null/nothing

我在2005年微软Access MVP的Dirk Goldgar的谷歌搜索中找到了一篇文章。他报告了以下内容,其中包括答案:

我不是这方面的专家,但我怀疑 变量的传递方式不同于字符串文本,并且不能进行隐式转换,因为您使用的是后期绑定。你 可以强制计算字符串变量并传递 通过包装变量名,将该求值转换为命名空间方法 在一组额外的括号中,如下所示:

设置myFolder=myApp.NameSpace((strTemp))


我也不知道双括号。我本以为这是一个复制/粘贴或格式问题。

当文件位于子文件夹中时,您是否能够使其正常工作?您是否尝试过省去两个反斜杠并使用objShell.NameSpace(“C:)?@SilentD是的,我没有关于:Dim sFolder作为字符串sFolder=“C:\”,然后将objFolder=obShell.NameSpace((sFolder))设置为objFolder=obShell.NameSpace((sFolder))请注意双括号。只有一个\like:`ObjShell.Namespace(“C:\”)可以工作(测试它)。你试过了吗?你有很强的谷歌搜索能力+1.