Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Beispiel werden alle vCard-Dateien aus einem Dateisystemordner importiert und die Kontakte im durch den targetFolder-Parameter angegebenen Ordner gespeichert.
Beispiel
In dem Beispiel wird die OpenSharedItem-Methode verwendet. Die OpenSharedItem-Methode öffnet Nachrichten, die als Dateien im Outlook-Nachrichtenformat (MSG), iCalendar-Termindateien (ICS) oder vCard-Dateien (VCF) gespeichert sind. Vergessen Sie nicht, das zurückgegebene Objekt in den entsprechenden Elementtyp umzuwandeln und die entsprechende Save-Methode aufzurufen, um das Element dauerhaft zu speichern. Standardmäßig wird das von OpenSharedItem zurückgegebene Element im Standardordner für den jeweiligen Elementtyp gespeichert. Sie können das Element mit der entsprechenden Move-Methode in einen anderen Ordner verschieben.
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 ImportContacts( _
ByVal path As String, ByVal targetFolder As Outlook.Folder)
Dim contact As Outlook.ContactItem
Dim moveContact As Outlook.ContactItem
If (Directory.Exists(path)) Then
Dim files As String() = Directory.GetFiles(path, "*.vcf")
For Each file As String In files
contact = CType(Application.Session.OpenSharedItem(file), _
Outlook.ContactItem)
If (targetFolder Is _
CType(Application.Session.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderContacts) _
, Outlook.Folder)) Then
contact.Save()
Else
moveContact = CType(contact.Move(targetFolder), _
Outlook.ContactItem)
moveContact.Save()
End If
Next
End If
End Sub
private void ImportContacts(string path, Outlook.Folder targetFolder)
{
Outlook.ContactItem contact;
Outlook.ContactItem moveContact;
if (Directory.Exists(path))
{
string[] files = Directory.GetFiles(path, "*.vcf");
foreach (string file in files)
{
contact = Application.Session.OpenSharedItem(file)
as Outlook.ContactItem;
if (targetFolder ==
Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderContacts)
as Outlook.Folder)
{
contact.Save();
}
else
{
moveContact = contact.Move(targetFolder)
as Outlook.ContactItem;
moveContact.Save();
}
}
}
}