Код ниже, скопированный из 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
, а не?