Tabelle aus ungeöffnetem Kontakt auslesen

Moderator: ModerationP

Tabelle aus ungeöffnetem Kontakt auslesen

Beitragvon TomWest » 23. Okt 2018, 21:06

:oops: damit fange ich an, denn langsam wird´s mir auch peinlich.
Es sind so diese kleinen Dinge, eine Zeile, an der man sitzt und sitzt und sitzt und selbst Google nicht weiter weiß.
Bitte nochmals höflich um einen kleinen Tipp.

Tabelle eines geöffneten Kontaktes ansprechen ist inzwischen längst kein Ding mehr ;-)
Einen Kontakt finden, ist auch nicht schwer.
Aber wie kann ich eine Tabelle des gefundenen Kontaktes auslesen, ohne diesen zu öffnen, während ich einen anderen Kontakt geöffnet habe (in dem auch eine andere Tabelle vorhanden ist und ständig diese ausgelesen wird)?
Mein bisheriger Ansatz:
Code: Alles auswählen
Dim objKontaktOrdner As MAPIFolder
    Dim objKontakt As ContactItem
    Dim wdDoc As Word.Document
    Dim wdTable As Word.Table
   
    Set objKontaktOrdner = GetNamespace("Mapi").Folders(p_cstrKonto).Folders(p_cstrKontakteOrdner)
    Set wdDoc = Application.ActiveInspector.WordEditor
    Set wdTable = wdDoc.Tables(1)
   
    For Each objKontakt In objKontaktOrdner.Items
        With objKontakt
            If .FirstName = "Abc" Then
                    Debug.Print wdTable.Cell(1, 1).Range.Text
            End If
        End With
    Next objKontakt

Ich hatte auch schon versucht die beiden Set wdDoc und Set wdTable in die If-Abfrage zu stellen, in der Hoffnung, dass damit der gefundene Kontakt angesprochen wird, also so:
Code: Alles auswählen
If .FirstName = "Abc" Then
    Set wdDoc = Application.ActiveInspector.WordEditor 'auch mit einem Punkt vor .Application, wegen dem vorangegangenen With objKontakt klappt es nicht
    Set wdTable = wdDoc.Tables(1)
    Debug.Print wdTable.Cell(1, 1).Range.Text
End If

Wie einfach ist die Lösung? ;-)
Gruß Tom
TomWest
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 226
Registriert: 18. Jan 2014, 12:14

Re: Tabelle aus ungeöffnetem Kontakt auslesen

Beitragvon Michael Bauer » 24. Okt 2018, 07:39

Hallo,

wenn der Kontakt nicht das aktive, offene Element ist, kommst Du über objKontakt.GetInspector auch an das Inspector-Objekt.
Michael Bauer
Add-Ins für Microsoft Outlook
Benutzeravatar
Michael Bauer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6369
Registriert: 03. Feb 2005, 15:07
Wohnort: Vollersode

Re: Tabelle aus ungeöffnetem Kontakt auslesen

Beitragvon halweg » 24. Okt 2018, 08:51

Das Ganze ist schon ein recht ambitioniertes Projekt und nach wie vor finde ich den Ansatz nicht zielführend. Aber es ist eben auch ein Ausloten der Grenzen des Outlook Objektmodells, also so eine Sache, die Erkenntnisse bringt, wo man aber froh ist, wenn es ein anderer macht.

Klar scheint mir,
1. dass man eine eingebettete Excel Tabelle innerhalb einer Outlook-Notiz nur über ein Word Objekt erreicht,
2. dass man an das Word-Objekt nur über einen Inspector kommt,
3. dass dieser geöffnet sein muss, um die Objekteigenschaften bereitzustellen (genauso wie eine Word-Datei geöffnet sein muss, um mit VBA deren Elemente zu bearbeiten).

Daraus folgt, dass man den anderen Kontakt in einem zweiten Fenster öffnen muss, zumindest minimiert.

Die grundsätzliche Frage ist aber nach wie vor: Wenn du mit VBA so gut bist, wozu brauchst du dann Excel-Features in einer Kontaktnotiz? Was auch immer du da berechnen willst, es dürfte leichter sein, das innerhalb eines .body oder auch .rtfbody zu tun und auf Excel zu verzichten. Vielleicht wäre, da du ja nun mal Outlook verwendest, auch eine Belegung von Kontaktfeldern (bzw. Benutzerfeldern) mit den von dir in die Tabelle gepackten Informationen zielführender. Damit kannst du dann innerhalb des Outlook-Objektmodells nativ rechnen.
Office 2002, 2010; Windows 7, 10
Benutzeravatar
halweg
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 544
Registriert: 21. Okt 2010, 08:04
Wohnort: Dresden

Re: Tabelle aus ungeöffnetem Kontakt auslesen

Beitragvon TomWest » 24. Okt 2018, 10:16

Hallo Ihr Zwei,

zunächst vielen Dank für die Antworten!
Aber es ist eben auch ein Ausloten der Grenzen des Outlook Objektmodells, also so eine Sache, die Erkenntnisse bringt, wo man aber froh ist, wenn es ein anderer macht.

Die Erkenntnisse sind sehr wichtig, ich lote SEHR gerne Grenzen ab, so habe ich in Excel und Access in den letzten Jahren sehr viel gelernt.
Froh wenn es ein anderer macht? Je nach dem, wie Du das jetzt meinst. Ich bin froh, wenn mir jemand an der einen oder anderen Stelle den kleinen, aber feinen Tipp gibt. Insgesamt steckt sehr viel mehr dahinter, was ich glücklicherweise auch alles alleine kann.

Ja, ambitioniertes Projekt, aber Excel ist komplett vom Tisch, das war nach den gesammelten Erkenntnissen der falsche Weg. Es dreht sich alles nur noch um Outlook und Word-Objekte darin.

Über objKontakt.GetInspector werde ich asap ausprobieren.
Sollte ich dann doch den anderen Kontakt in einem zweiten Fenster öffnen muss, zumindest minimiert, dann ist das auch absolut ok.
Aber genau diese Dinge sind elementar, die muss man erstmal wissen und verstehen, daher sind Eure Antworten sehr wertvoll für mich! Dankeschön!
Gruß Tom
TomWest
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 226
Registriert: 18. Jan 2014, 12:14

Re: Tabelle aus ungeöffnetem Kontakt auslesen

Beitragvon TomWest » 29. Okt 2018, 20:40

Guten Abend,

wollte nur noch eine kurze Rückinfo geben, vielleicht hilft es jemand anders auch noch, und mich bedanken.
Michael, mit .GetInspector klappt es mega gut, perfekt, genau danach hatte ich gesucht :D :D :D
Danke für den Tipp!!!
Für alle, die also ein ähnliches Problem haben:
Code: Alles auswählen
If .FirstName = "Abc" Then
    Set wdDoc = .GetInspector.WordEditor
    Set wdTable = wdDoc.Tables(1)
    Debug.Print wdTable.Cell(1, 1).Range.Text
End If
Gruß Tom
TomWest
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 226
Registriert: 18. Jan 2014, 12:14

Re: Tabelle aus ungeöffnetem Kontakt auslesen

Beitragvon DerHoepp » 30. Okt 2018, 14:08

Hallo Tom,

schön, dass es funktioniert. Nur zur Vervollständigung, das war genau das, was ich mit dem Satz in diesem Thread meinte:
(gegenebenfalls über den Inspector und das WordEditor-Objekt)


Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8143
Registriert: 14. Mai 2013, 11:08


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast