2016-07-17 29 views
1

Ich hatte eine Situation, wo ich pst Name basierend auf der Auswahl an einem Element im Outlook Explorer erhalten soll. Grundsätzlich hat mein Outlook viele Postfächer. Ich muss den Namen der PST des E-Mail-Artikels, den ich ausgewählt habe, haben. Bisher habe ich versucht, viele Iterationen aber kein Glück wie im Grunde bin ich von VBA zurück Boden und in VBA ich es sehr leicht wie unten:Wie bekomme ich Outlook PST Name von ausgewählten Mail VB.NET

oMailItem.Parent.Parent 

und es gibt mir perfektes Ergebnis. Allerdings, in .NET sehe ich nicht oMailItem.Parent.Parent, wenn ich den Punkt nach dem ersten Parent setzen, bietet IntelliSense keine Eigenschaft Parent wieder. Ich habe versucht Conversion, aber kein Glück, da ich sehr neu in VB.NET bin.

Bitte beraten.

Danke, Rashid

Antwort

0

Die Eigenschaft Parent vom Typ Object, so dass Sie es zuerst Outlook.Folder wie so haben zu werfen. Beachten Sie aber, dass die Umwandlung nicht möglich sein kann, und so sollten Sie überprüfen, ob folder tatsächlich auf ein Objekt bezieht und nicht Nothing

Dim folder As Outlook.Folder = TryCast(oMailItem.Parent, Outlook.Folder) 
If folder IsNot Nothing Then 
    folder.Parent ... 
End If 
+0

Vielen Dank für Ihre Antwort läßt mich –

+0

Hallo versuchen, habe ich versucht, Code und in der Lage, das Objekt zu werfen, aber wie würde ich Pfad des Ordners erhalten, wie ich diesen Dim oFolder versucht Wie Outlook.Folder oFolder = TryCast (oItem.Parent, Outlook.Folder) Wenn oFolder IsNot Nothing Dann oFolder.Parent.ToString() End Wenn –

+0

Ich brauche Stammordner von dieser Kette zu erreichen. Ich traverse durch das oFolder-Objekt und unter Dynamische Ansicht sehe ich es gibt mir "Mein PS-Name \ Posteingang \ PersonalFolder" –

0

Sie müssen Store.FilePath verwenden. Verwenden Sie MAPIFolder.Store, um den übergeordneten Speicher abzurufen. Um den übergeordneten Ordner abzurufen, lesen Sie die MailItem.Parent-Eigenschaft und wandeln Sie sie in MAPIFolder um.