2012-04-03 2 views
1

Ich habe versucht, einen Weg zu finden, um einen Ordner zu einer pst-Datei von C#einen Ordner in eine PST-Datei von Outlook in C# Hinzufügen

Ich habe eine ganze Reihe von Code versucht, hinzuzufügen, zu versuchen und zu erhalten, dies zu arbeiten und dies ist derjenige, der korrekt zu sein die meisten likly scheint zu sein (wie es, was auf der MSDN ist), aber immer noch nicht

Main { 

Outlook._Application OutlookObject = new Outlook.Application(); 
      Outlook.Store NewPst = null; 
      // create the pst file 
      string pstlocation = "C:\\Users\\Test\\Desktop\\PST\\Test.pst"; 
      try 
     { 
      OutlookObject.Session.AddStore(pstlocation); 

      foreach (Outlook.Store store in OutlookObject.Session.Stores) 
      { 
       if (store.FilePath == pstlocation) 
       { 
        // now have a referance to the new pst file 
        NewPst = store; 
        Console.WriteLine("The Pst has been created"); 
       } 
      } 
     } 
     catch 
     { } 
     // create a folder or subfoler in pst 
     Outlook.MAPIFolder NewFolder; 

     NewFolder = NewPst.Session.Folders.Add("New Test Folder", Type.Missing); 
} 

Dieser Code eine Datei neue PST funktioniert und erstellt dann trys einen Ordner hinzufügen dazu aber die letzte Zeile des Codes:

New NewFolder = NewPst.Session.Folders.Add("New Test Folder", Type.Missing); 

Ruft den Fehler "Der Vorgang ist fehlgeschlagen." und „Ungültige Cast Exception“ kann jemand darauf hinweisen, was ich tue falsch

Vielen Dank im Voraus

Antwort

4

Sie müssen Store.GetRootFolder() verwenden, um einen Griff in die Stammordner zu erhalten von diesem Speicher (nichtStore.Session). So verwenden Sie:

// create a folder or subfolder in pst  
Outlook.MAPIFolder pstRootFolder = NewPst.GetRootFolder(); 
Outlook.MAPIFolder NewFolder = pstRootFolder.Folders.Add("New Test Folder"); 

I bookmarking empfehlen die beiden folgenden: Die PIA-Dokumentation ist nicht immer vollständig, so lohnt es sich die COM-Dokumentation als auch für die komplette Klasse und Mitglied info Check-out.

+0

Vielen Dank für Ihre Hilfe sehr dieses mein Problem gelöst – jgok222