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

1 ответ

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 свойство делает это возвращает зависимый от устройства разделитель пути, поэтому в окнах он возвращает строку \, Это свойство было доступно в Excel VBA до того, как Outlook получил 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

Надеюсь это поможет!

Другие вопросы по тегам