Почему объект выдает ошибку, а Variant нет? - PullRequest
1 голос
/ 16 апреля 2019

Код ниже, скопированный из MSDocs, выдает ошибку после моей небольшой модификации. Первоначально было раннее связывание вместо позднего. Тем не менее все типы (Namespace, SharingItem) являются типами объекта. Но когда код изменяется, как в приведенном ниже примере, он выдает ошибку:

Номер ошибки -> -2147467259

Описание ошибки -> Сбой операции

Источник ошибки -> Microsoft Outlook

Sub MSCodeTest()

 Dim oApp As Object           'Application --> added by me
 Dim oNamespace As Object     'Namespace
 Dim oFolder As Object        'Folder
 Dim oSharingItem As Object   'SharingItem
 On Error GoTo ErrRoutine
 Set oApp = GetObject(, "Outlook.Application")   'added by me
 Set oNamespace = oApp.GetNamespace("MAPI")
 Set oFolder = oNamespace.GetDefaultFolder(olFolderCalendar)
 Set oSharingItem = oNamespace.CreateSharingItem(oFolder)
 oSharingItem.Display

EndRoutine:

 On Error GoTo 0
 Set oSharingItem = Nothing
 Set oFolder = Nothing
 Set oNamespace = Nothing
Exit Sub

ErrRoutine:

 MsgBox Err.Description, vbOKOnly, Err.Number & " - " & Err.source
 GoTo EndRoutine

End Sub

С другой стороны, если я изменю папку с Object на Variant, все пройдет гладко. Почему назначение элемента типа объекта, такого как Folder, Object вызывает ошибку, а Variant, а не?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...