Zum Inhalt springen

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


Kosinator

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...