Outlook VBA:应用程序对象中缺少PathSeparator属性



我正在尝试使用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

希望这能有所帮助!

相关内容

  • 没有找到相关文章

最新更新