Shell.namespace不接受stringvariables,但接受string本身

我有一个代码,我要循环浏览文件夹中的文件,检查他们的内置或自定义文档属性(不打开它们),然后打开那些打开的文档。 要做到这一点,我使用Shell并设置我使用Shell.Namespace的文件夹。

问题是与Namespace ,我猜。 当我使用variables strSuborCesta的path不起作用 。 当我将variablesstrSuborCesta打印到即时窗口中并使用Shell.Namespace("....")的打印string时它确实起作用

通过它不工作我的意思是我得到:

运行时错误:91对象variables或未设置块

当我试图循环通过文件夹中的文件(这不是在那种情况下设置,所以我明白为什么发生错误,但不明白为什么它不接受一个stringvariables)

path在两个方面都是正确的。 但我需要它是一个variables ,而不是硬编码的string。

我在哪里错误?

有没有更好的办法,检查文件属性(如评论,标题,作者等),而无需打开Excel文件?

以下是目前正处于testing阶段的部分,这给我一个很难的时间。

str[name of variable]variables是string数据types。 sFile, oShell, oDir are as Variants

  '-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'get a root path strPriecinokCesta = ThisWorkbook.Path 'path to this file strPriecinokCesta = Left(strPriecinokCesta, Len(strPriecinokCesta) - (Len(strPriecinokCesta) - InStrRev(strPriecinokCesta, "\"))) 'root path is one level above this file '-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'input files are in a subfolder strSuborCesta = strPriecinokCesta & "Zdroje\" strSuborPripona = "Formular_BD_kotolna*.xls" 'name of a file with extension strSuborNazov = Dir(strSuborCesta & strSuborPripona) 'actual file name '-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'get access to the file system Set oShell = CreateObject("Shell.Application") Set oDir = oShell.Namespace(strSuborCesta) '<----this will produce an error. In contrast to using a hard coded string. Why? For Each sFile In oDir.Items '<---- run time error 91 occurs on this line Debug.Print test & " : " & oDir.GetDetailsOf(sFile, 24) 'comments Next 

variablesstrSuborNazov应该是一个变体

 Dim strSuborNazov as variant oShell.Namespace(strSuborNazov) 

https://msdn.microsoft.com/en-us/library/windows/desktop/bb774085(v=vs.85).aspx