Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Visual Studio C# - Outlook-Kontakte vollständig importieren

Empfohlene Antworten

Hallo, ich habe im Betrieb eine Problemstellung zu bewältigen und hoffe, einer von eich hat vllt. eine Idee.

Ich baue eine Schnittstelle von "unserem Programm" zu Outlook (Microsoft Office Outlook 2007 wenn ich mich nicht irre) und bin dabei auf ein Problem gestoßen.

Ach, bevor ichs vergesse, ich arbeite mit Visual C# 2005.

Erstmal der Erfolg, also das was funktioniert:

Ich habe von Outlook die Kontaktdaten über Excel nach Access exportiert (also 2mal, warum, komme ich später drauf zu sprechen), und diese Datenbank dann mehr oder minder bequem aus unserem Programm ansteuern, abfragen und bearbeiten können.

Soweit, sogut.

Doch man möchte mehr (die hin und her exportierereien sind nicht so gut, zumal nur von Outlook nach Programm und nicht umgekehrt (bzw. mit umwegen) und keines Falls schön.

Also kam der Plan auf, auf die Outlook-Daten quasi direkt , OLE-DB zuzugreifen, gesagt, getan.

(mit Merge die TabellenStruktur nach ExcelVorlage behalten, damit die DB personalisiert ist)

Doch was ist nun?

Die Datensätze sind keineswegs vollständig, viele (gefüllte) Spalten fehlen (vorher etwa 94, nun 42).

Bei der Fehlersuche ist mir dann auch aufgefallen, dass alleine der Export nach Excel zwar keine Daten verschwinden lässt (der Export nach Access (von Outlook aus) ist wesentlich mieserabler (noch etwa 60 Spalten).

Mir scheint, als dass der OLE DB zugriff nur einige der Spalten übernimmt (halt um 40) die er für wichtig hält, e-mailAdresse oder Mehrere Telefonnummern sind wohl überflüssig...

Vielleicht hat jemand von euch eine Idee, wie man dieses Outlook über die OLE DB dazu zwingen kann, dass es alle Spalten (und damit vorhandene Daten)

rausrückt?

hier ein stück Code wie ichs versuche:

#region OutlookDaten laden

// using System.Data.OleDb; // Nicht vergessen!

/// <summary>

/// Gibt den Inhalt eines bestimmten Outlook-Ordners als Tabelle zurück.

/// (Wurde nur mit einer deutschen Outlook-version getastet!)

/// </summary>

/// <param name="mapiProfile">Name des MAPI-Profils (z.B. "MS Exchange-Einstellungen"), einzusehen in Systemsteuerung -> Mail</param>

/// <param name="displayUserName">Anzeigename des Benutzers (z.B. "Max Mustermann")</param>

/// <param name="folderName">Name des Ordners (z.B. "Posteingang")</param>

/// <returns>Inhalt des Outlook-Ordners</returns>

private DataTable GetOutlookFolderData(string mapiProfile, string displayUserName, string folderName)

{

// Verbindungszeichenfolge erzeugen

string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Exchange 4.0;MAPILEVEL=Postfach - {0}|;PROFILE={1};TABLETYPE=0;DATABASE={2};",displayUserName,mapiProfile,Environment.GetEnvironmentVariable("TEMP"));

// SQL-Abfrage erzeugen

string sql = string.Format("SELECT * FROM {0}", folderName);

// Neue Tabelle erzeugen

DataTable result = new DataTable(folderName);

// Verbindung zu Outlook herstellen

using (OleDbConnection connection = new OleDbConnection(connectionString))

{

// Datenadapter bauen

OleDbDataAdapter adapter = new OleDbDataAdapter(sql, connection);

// Inhalt des Outlook-Ordners abrufen

adapter.Fill(result);

}

// Tabelle mit Ordnerinhalt zurückgeben

return result;

}

#endregion

(Dieses Snippet im Inet gefunden... )

Für jegliche Tipps und Anregungen bin ich dankbar.

Gruß, Kosi

Oops,

bei falscher Forenwahl bitte verschieben und DIESEN Eintrag löschen, danke

  • 2 Wochen später...

*Nachobenschieb*

Bitte ins richteige Unterforum setzten, falls hier falsch, danke

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.