Hinzufügen oder Entfernen eines Speichers
In diesem Beispiel wird veranschaulicht, wie ein Speicher in einem Profil hinzugefügt und entfernt wird.
Beispiel
Das Codebeispiel zeigt das Hinzufügen und Entfernen eines Speichers in einem angegebenen Profil durch einen Aufruf der AddStoreEx -Methode bzw. der RemoveStore -Methode für das NameSpace -Objekt.
In Outlook, you can add or remove a PST store only programmatically. Im folgenden Codebeispiel wird ein Unicode-Speicher hinzugefügt und die PST-Datei am Standardspeicherort für PST-Dateien des Benutzers platziert: Dokumente und Einstellungen\<Benutzername>\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook. Das Codebeispiel verwendet Environment.SpecialFolder.LocalApplicationData zum Abrufen des Pfads zum Ordner „Anwendungsdaten“ unter dem Ordner „Lokale Einstellungen“. Nachdem Sie den Speicher hinzugefügt haben, wird er vom Codebeispiel entfernt. Because the RemoveStore method requires a Folder object to remove the Store object, it enumerates the Stores collection to find the Store object that has just been added based on the FilePath property of the Store object.
RemoveStore entfernt nur den Speicher aus dem aktuellen Profil. Die PST-Datei wird nicht aus dem Dateisystem gelöscht.
Wenn Sie Visual Studio verwenden, um dieses Codebeispiel zu testen, müssen Sie der Microsoft Outlook 15.0-Objektbibliothekkomponente zuerst einen Verweis hinzufügen und die Outlook-Variable angeben, wenn Sie den Microsoft.Office.Interop.Outlook-Namespace importieren. Die Anweisung Imports oder using darf im Codebeispiel nicht direkt vor den Funktionen stehen, sondern muss vor der öffentlichen Class-Deklaration hinzugefügt werden. Die folgenden Codezeilen zeigen, wie Sie den Import und die Zuweisung in Visual Basic und C# vornehmen.
Imports Outlook = Microsoft.Office.Interop.Outlook
using Outlook = Microsoft.Office.Interop.Outlook;
Private Sub CreateUnicodePST()
Dim path As String = Environment.GetFolderPath( _
Environment.SpecialFolder.LocalApplicationData) _
& "\Microsoft\Outlook\MyUnicodeStore.pst"
Try
Application.Session.AddStoreEx( _
path, Outlook.OlStoreType.olStoreUnicode)
Dim stores As Outlook.Stores = Application.Session.Stores
For Each store As Outlook.Store In stores
If store.FilePath = path Then
Dim folder As Outlook.Folder = _
CType(store.GetRootFolder(), Outlook.Folder)
' Remove the store
Application.Session.RemoveStore(folder)
End If
Next
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
End Sub
private void CreateUnicodePST()
{
string path = Environment.GetFolderPath(
Environment.SpecialFolder.LocalApplicationData)
+ @"\Microsoft\Outlook\MyUnicodeStore.pst";
try
{
Application.Session.AddStoreEx(
path, Outlook.OlStoreType.olStoreUnicode);
Outlook.Stores stores = Application.Session.Stores;
foreach (Outlook.Store store in stores)
{
if (store.FilePath == path)
{
Outlook.Folder folder =
store.GetRootFolder() as Outlook.Folder;
// Remove the store
Application.Session.RemoveStore(folder);
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}