Ich versuche, ein MailItem Objekt in der Eigenschaft meines benutzerdefinierten Objekts zu speichern, später zurückgerufen werden, aber ich bin immer folgende Fehlermeldung:Outlook VBA wie MailItem in benutzerdefinierter Objekteigenschaft speichern
Run-time error '91': Object variable or With block variable not set
Das ist meine Klasse1:
Private vprop1 As String
Private vprop2 As String
Private vprop3 As MailItem
Property Get prop1() As String
prop1 = vprop1
End Property
Property Let prop1(aValue As String)
vprop1 = aValue
End Property
Property Get prop2() As String
prop2 = vprop2
End Property
Property Let prop2(aValue As String)
vprop2 = aValue
End Property
Property Get prop3() As MailItem
prop3 = vprop3
End Property
Property Let prop3(aValue As MailItem)
vprop3 = aValue
End Property
Das ist mein Test. Der Fehler verweist auf die dritte Eigenschaftszuweisung: var.prop3 = ...
Public Sub test()
Set objsourcefolder = Application.Session.GetDefaultFolder(olFolderInbox)
Dim var As Class1
Set var = New Class1
var.prop1 = "\folder\sub\12345"
var.prop2 = "Email subject regarding 12345"
var.prop3 = objsourcefolder.Items.Item(objsourcefolder.Items.count)
Debug.Print var.prop1
Debug.Print var.prop2
Debug.Print var.prop3
Debug.Print var.prop3.Subject
End Sub
Jede Hilfe wird sehr geschätzt!
es funktioniert! und ich habe etwas gelernt! Ich habe auf einigen anderen Seiten gefragt, und ich begann die Hoffnung zu verlieren, dass jemand im Internet wusste über VBA mehr, aber hier senden Sie eine schöne Antwort in weniger als einem Tag! das hat meinen Tag gemacht; danke, nette Fremde :) –
Gern geschehen. Ich würde es begrüßen, wenn Sie meine Antwort akzeptieren könnten, indem Sie auf das Häkchen neben der Antwort klicken, um es von grau auf ausgefüllt umzuschalten. Danke! – user3598756