我正在尝试使用Application.PathSeparator属性。但是PathSeparator属性不可供选择,如果我在VBA代码中输入它,我会得到运行时错误438-对象不支持此属性或方法。
我是否需要安装一些东西才能访问PathSeparator?我有MS Office 2007和Outlook 2010。我没有安装.Net客户端。
尝试在下面的示例代码中使用:
Sub UnZipFile(strTargetPath As String, Fname As String)
Dim oApp As Object
Dim FileNameFolder As Variant
If Right(strTargetPath, 1) <> Application.PathSeparator Then
strTargetPath = strTargetPath & Application.PathSeparator
End If
FileNameFolder = strTargetPath
Set oApp = CreateObject("Shell.Application")
oApp.Namespace(FileNameFolder).CopyHere oApp.Namespace(strTargetPath & Fname).items
DoEvents
End Sub
PathSeperator
不是Outlook.Application
的属性。如果您真的想使用Application.PathSeperator
,您可以添加对Microsoft Excel x.0 Object Library
的引用,然后将此代码添加到项目的顶部:
Dim exapp As Excel.Application
Set exapp = New Excel.Application
并将Application.PathSeperator
的所有实例替换为:
exapp.PathSeparator
但这可能是我写过的最愚蠢的代码。PathSeperator
属性所做的只是返回设备相关的路径分隔符,因此在窗口中它返回字符串。在Outlook获得VBA之前,它是Excel VBA中可用的属性,现在已经不再使用了。如果您感兴趣,这里列出了不同操作系统的路径分隔符。
这是上面的代码,在Outlook中工作:
If Right(strTargetPath, 1) <> "" Then
strTargetPath = strTargetPath & ""
End If
FileNameFolder = strTargetPath
Set oApp = CreateObject("Shell.Application")
oApp.NameSpace(FileNameFolder).CopyHere oApp.NameSpace(strTargetPath & Fname).Items
DoEvents
希望这能有所帮助!