Übergabe von Wert eines benutzdefinierten Feld von Outlook an Word
Hallo zusammen
Ich möchte Werte meiner gespeicherten Kontakte in Outlook direkt in Word als Textfeld einfügen. Das habe ich auch über folgende Anleitung geschafft:
http://blog.vonderalb.net/outlook-adressen-in-word-einfugen-eine-anleit ...
Soweit so gut....nun sind diese Platzhalter (PR_....) von Microsoft vordefiniert. Sprich: PR_SURNAME ist der Platzhalten in Word für den definierten Familienname im Outlook.
Ich habe jedoch in meinem Outlook bei jedem Kontakt noch benutzerdefinierte Felder gemacht.
Kann mir jemand sagen, ob auch diese benutzerdefinierten Felder einen Platzhalter im Word haben? Wenn ja, wo finde ich diesen raus?
Wenn Nein, könnte man das über ein Makro allenfalls auch lösen, dass man diverse Felder vom Outlook-Adressbuch an Word übergibt?
Falls das eine Lösung sein könnte und das jemand kann, wäre ich auch bereit was für das zu bezahlen...
Besten Dank für eure hilfreichen Antworten!
Gruss
Philipp
Ich möchte Werte meiner gespeicherten Kontakte in Outlook direkt in Word als Textfeld einfügen. Das habe ich auch über folgende Anleitung geschafft:
http://blog.vonderalb.net/outlook-adressen-in-word-einfugen-eine-anleit ...
Soweit so gut....nun sind diese Platzhalter (PR_....) von Microsoft vordefiniert. Sprich: PR_SURNAME ist der Platzhalten in Word für den definierten Familienname im Outlook.
Ich habe jedoch in meinem Outlook bei jedem Kontakt noch benutzerdefinierte Felder gemacht.
Kann mir jemand sagen, ob auch diese benutzerdefinierten Felder einen Platzhalter im Word haben? Wenn ja, wo finde ich diesen raus?
Wenn Nein, könnte man das über ein Makro allenfalls auch lösen, dass man diverse Felder vom Outlook-Adressbuch an Word übergibt?
Falls das eine Lösung sein könnte und das jemand kann, wäre ich auch bereit was für das zu bezahlen...
Besten Dank für eure hilfreichen Antworten!
Gruss
Philipp
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 298201
Url: https://administrator.de/contentid/298201
Ausgedruckt am: 25.11.2024 um 20:11 Uhr
7 Kommentare
Neuester Kommentar
Hi,
Kugel sagt: https://support.microsoft.com/en-us/kb/212345
(gesucht mit "PR_SURNAME", erster Treffer ....)
Absatz "What Properties Are Supported?"
Das bezieht sich zwar noch auf Word 2000, aber schau mal, ob Du damit weiterkommst.
E.
Kugel sagt: https://support.microsoft.com/en-us/kb/212345
(gesucht mit "PR_SURNAME", erster Treffer ....)
Absatz "What Properties Are Supported?"
Das bezieht sich zwar noch auf Word 2000, aber schau mal, ob Du damit weiterkommst.
E.
Ich glaube es läuft auf eine Makro-Programmierung raus...kann das jemand?
Kann man, einfach ein Outlook-Objekt erstellen dann den Adressbuchordner referenzieren, den Kontakt auswählen und über die Userproperties-Eigenschaft das Feld abfragen. Dann das ganze ins Dokument schreiben fertig. Im Dokument kann man sich Bookmarks setzen welche man dann via Code mit den Daten füllt. Keine große Sache.Gruß jodel32
Hallo Philipp,
hier ein Beispiel das mit einem Makro arbeitet und das auf sämtliche Eigenschaften des Kontakts Zugriff hat.
add_contact_custom_field_298201.docm
Das aussehen des Blocks und welche Eigenschaften du brauchst, kannst du im Code festlegen.
Für das Beispiel legst du den Namen der benutzerdefinierten Eigenschaft in einer Konstanten im Code fest.
Weitere Kommentare stehen im Quelltext des Dokuments.
Dem Spieltrieb sind hier keine Grenzen gesetzt
Hier ergänzend noch der Quelltext:
Viel Spaß damit
Grüße Uwe
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
hier ein Beispiel das mit einem Makro arbeitet und das auf sämtliche Eigenschaften des Kontakts Zugriff hat.
add_contact_custom_field_298201.docm
Das aussehen des Blocks und welche Eigenschaften du brauchst, kannst du im Code festlegen.
Für das Beispiel legst du den Namen der benutzerdefinierten Eigenschaft in einer Konstanten im Code fest.
Weitere Kommentare stehen im Quelltext des Dokuments.
Dem Spieltrieb sind hier keine Grenzen gesetzt
Hier ergänzend noch der Quelltext:
Sub ShowAddressBook()
Dim objOL As Object, m As Object, strCustomField As String, strDaten As String
'Name des benutzerdefinierten Feldes hier anpassen
'>>>>>>
Const CUSTOMFIELDNAME = "Demofeld"
'<<<<<<<
'Outlook Object holen
Set objOL = GetObject(, "Outlook.Application")
If objOL Is Nothing Then
Set objOL = CreateObject("Outlook.Application")
End If
'Dialog fix (bring to front)
For Each objExplorer In objOL.Explorers
objExplorer.WindowState = 1
Next
Set m = objOL.CreateItem(0)
m.Display False
m.Close 1
'-----
'Addressbuchdialog einrichten
With objOL.Session.GetSelectNamesDialog
'Einzel-Kontaktauswahlmodus
.SetDefaultDisplayMode 7
' Dialog anzeigen
If .Display Then
'Kontakt von Recipient auflösen
Set contact = .Recipients.Item(1).AddressEntry.GetContact
If Not contact Is Nothing Then
With contact
'Benutzerdefniertes Feld auslesen wenn es vorhanden ist
If Not .Userproperties.Find(CUSTOMFIELDNAME, True) Is Nothing Then
strCustomField = .Userproperties.Item(CUSTOMFIELDNAME).Value
Else
strCustomField = ""
End If
'Daten des Kontakts für die Ausgabe aufbereiten
strDaten = .FirstName & " " & .Lastname & vbNewLine & _
.HomeAddressStreet & vbNewLine & _
.HomeAddressPostalCode & " " & .HomeAddressCity & vbNewLine & _
strCustomField & vbNewLine
'Text an aktueller Position einfügen
Selection.Text = strDaten
End With
Else
'Es wurde kein zugeordneter Kontakt für den Eintrag gefunden
MsgBox "Es wurde kein zugeordneter Kontakt gefunden", vbExclamation
End If
End If
End With
End Sub
Grüße Uwe
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
Bitte
Wenn das nicht gewünscht ist sollte man über einen eigenen Kontakte-Dialog in Word selber nachdenken. Habe ich in solchen Fällen auch schon einige mal gemacht. Simpler Dialog der alle Kontakte in einer kleinen Listbox auflistet.
Grüße Uwe
Nur noch eine kleine Frage oder Anmerkung:
Bei Aufruf von Outlook, springt alles zum Outlook und des Adressbuch geht dort auf.
Kann man das so erarbeiten, das im Word einfach der Dialogbox vom Addressbuch öffnet?
Das liegt daran das der Dialog zum Outlook-Prozess gehört. Ein Workaround besteht darin alle offenen Explorer-Fenster automatisch vorher zu minimieren. Habe das mal oben in den Code eingepflegt.Bei Aufruf von Outlook, springt alles zum Outlook und des Adressbuch geht dort auf.
Kann man das so erarbeiten, das im Word einfach der Dialogbox vom Addressbuch öffnet?
Wenn das nicht gewünscht ist sollte man über einen eigenen Kontakte-Dialog in Word selber nachdenken. Habe ich in solchen Fällen auch schon einige mal gemacht. Simpler Dialog der alle Kontakte in einer kleinen Listbox auflistet.
Grüße Uwe