Termin aus Kontakt mit Adresse, Plz,Ort in Ortsfeld hinterlegen
#1
Hallo,
aktuell nutze ich den Code von
https://www.outlook-stuff.com/tipps-tric...ntakt.html

Den Code wollte ich jetzt ein wenig Anpassen, da ich die Adresse aus dem Termin in GoogleMaps verwende. Da aber erst Ort, Plz und Adresse dort steht (meistens auch doppelt) funktioniert das nicht so einfach in GoogleMaps.

Code:
Sub Kontakt_Termin()
'=====================================================================
   ' Bildet die Funktion "Neuer Termin mit Kontakt" für Benutzer von
   ' Outlook® 2007 nach.
   ' (c) Peter Marchert - http://www.outlook-stuff.com/
   ' 2008-11-21 Version 1.0.0
   ' 2008-11-23 Version 1.0.1
   '=====================================================================
   
   Dim objCalendar As Outlook.MAPIFolder           ' Standardkalender
   Dim objContact As Outlook.ContactItem           ' Kontakt
   Dim objAppointment As Outlook.AppointmentItem   ' Neuer Termin
   
   '---------------------------------------------------------------------
   ' Nachfolgende Konstanten mit "" vorbelegen, wenn nicht gewünscht
   '---------------------------------------------------------------------
   Const MYCATEGORIES As String = "FA/BT"      ' Kategorie (mehrere
                                                  ' durch ";" trennen)
   Const REMINDER As String = "30"            ' Erinnerung in min
   Const MYDURATION As String = "60"          ' Dauer in min
   Const PERSONAL As String = ""              ' "Wahr", wenn Privattermin
   Const SHOWDIALOG As String = "Wahr"        ' "Wahr", wenn Kategorie-
                                              ' auswahl angezeigt werden
                                              ' soll
   On Error Resume Next

   '---------------------------------------------------------------------
   ' Aktuell geöffneten Kontakt refernzieren
   '---------------------------------------------------------------------
   Set objContact = Outlook.ActiveInspector.CurrentItem

   '---------------------------------------------------------------------
   ' Ist kein Kontakt geöffnet, wird der gerade markierte verwendet
   '---------------------------------------------------------------------
   If objContact Is Nothing Then Set objContact = Outlook.ActiveExplorer.Selection(1)

   '---------------------------------------------------------------------
   ' Auch kein Kontakt markiert?
   '---------------------------------------------------------------------
   If objContact Is Nothing Then
       MsgBox "Bitte markieren bzw. öffnen Sie einen Kontakt." _
           , vbCritical + vbOKOnly, "Neuer Termin mit Kontakt"
       Exit Sub
   End If

   '---------------------------------------------------------------------
   ' Standardkalender referenzieren
   '---------------------------------------------------------------------
   Set objCalendar = Outlook.Session.GetDefaultFolder(olFolderCalendar)

   '---------------------------------------------------------------------
   ' Neuen Termin erstellen
   '---------------------------------------------------------------------
   Set objAppointment = objCalendar.Items.Add

   '---------------------------------------------------------------------
   ' Termin mit Werten füllen
   '---------------------------------------------------------------------
   With objAppointment

       '-----------------------------------------------------------------
       ' Betreff festlegen
       '-----------------------------------------------------------------
       .Subject = "Termin mit " & objContact.Subject
       
       '-----------------------------------------------------------------
       ' Ort festlegen
       '-----------------------------------------------------------------
       If objContact.BusinessAddressPostalCode = "" And objContact.BusinessAddressCity = "" And objContact.BusinessAddress = "" Then .Location = objContact.HomeAddressPostalCode & " " & objContact.HomeAddressCity & " " & objContact.HomeAddress Else .Location = objContact.BusinessAddressPostalCode & " " & objContact.BusinessAddressCity & " " & objContact.BusinessAddress
'         If objContact.BusinessAddressPostalCode = "" And objContact.BusinessAddressCity = "" And objContact.BusinessAddress = "" Then .Location = objContact.HomeAddress & " " & objContact.HomeAddressPostalCode & " " & objContact.HomeAddressCity Else .Location = objContact.BusinessAddress & " " & objContact.BusinessAddressCity & " " & objContact.BusinessAddressPostalCode

       '-----------------------------------------------------------------
       ' Konstanten berücksichtigen
       '-----------------------------------------------------------------
       If MYCATEGORIES <> "" Then .Categories = MYCATEGORIES
       If REMINDER <> "" Then .ReminderMinutesBeforeStart = CLng(REMINDER)
       If MYDURATION <> "" Then .Duration = CLng(MYDURATION)
       If PERSONAL <> "" Then .Sensitivity = olPrivate

       '-----------------------------------------------------------------
       ' Kontakt als Link einfügen
       '-----------------------------------------------------------------
       Call .Links.Add(objContact)

       '-----------------------------------------------------------------
       ' Termin anzeigen
       '-----------------------------------------------------------------
       .Display

       '-----------------------------------------------------------------
       ' Dialog zur Kategorieauswahl anzeigen? (erst ab 2002)
       '-----------------------------------------------------------------
       If SHOWDIALOG <> "" Then .ShowCategoriesDialog

   End With

   '---------------------------------------------------------------------
   ' Referenzen löschen
   '---------------------------------------------------------------------
   Set objContact = Nothing
   Set objAppointment = Nothing
   Set objCalendar = Nothing


End Sub

Ich habe versucht den Code so umzustellen das erst die Adresse, dann Postleitzahl und Ort aufgeführt wird aber es geht nicht. Adresse passt aber es wird die Postleitzahl und der Ort nicht integriert.

If objContact.BusinessAddressPostalCode = "" And objContact.BusinessAddressCity = "" And objContact.BusinessAddress = "" Then .Location = objContact.HomeAddress & " " & objContact.HomeAddressPostalCode & " " & objContact.HomeAddressCity Else .Location = objContact.BusinessAddress & " " & objContact.BusinessAddressCity & " " & objContact.BusinessAddressPostalCode

Kann mir bitte jemand Helfen ? Sollte doch eigentlich funktionieren oder?
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top
#2
Hallöchen,

mal eine erste Frage. Was steht denn in den 3 Objekten drin? Hast Du mal in der Überprüfung geschaut, was in objContact enthalten ist bzw. in den 3 einzelnen?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Daniel Albert
Top
#3
ah ok stimmt kann ich mal schauen - Danke für den Tipp
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top
#4
Hallo, gerade gemacht:

Also da bei dem Kunde nur eine private Adresse vorhanden ist steht in folgenden Bereich was drin:

.Location = objContact.HomeAddressPostalCode & " " & objContact.HomeAddressCity & " " & objContact.HomeAddress

Plz + Ort + Anschrift

Für Google Maps brauche ich halt anschrift + plz + Ort

Ich habe es schon versucht zu drehen aber mit wenig Erfolg:

.Location = objContact.HomeAddress & " " & objContact.HomeAddressPostalCode & " " & objContact.HomeAddressCity

Es wird dann nur die Anschrift angezeigt. Plz + Ort fehlt
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top
#5
Hallo Daniel,

wenn der Ort in der ersten Variante im einzelnen Objekt steht, kann es doch nicht sein, das er in der zweiten Variante fehlt?
Setzte die Teile doch mal zu einem String zusammen und verwende den bei .Location=
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Daniel Albert
Top
#6
Na super - so bin raus - was soll ich machen ?
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top
#7
Hallöchen,

strLocation = objContact.HomeAddress & " " & objContact.HomeAddressPostalCode & " " & objContact.HomeAddressCity
Msgbox StrLocation

--> damit siehst Du, ob die Angaben im String sind.

Dann

.Location = strLocation
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Daniel Albert
Top
#8
Hallo,

folgendes steht drin

   

In den Variablen steht folgendes

   

Also dachte ich mir den Code zu verändern, denn es sieht so aus als ob alles in der Variable objContact.HomeAddress steht

Code:
StrLocation = objContact.HomeAddress
MsgBox StrLocation

Dann kommt folgendes raus - sprich sollte passen

   

Ich habe dann den Code wie folgt geändert:

Code:
       ' Kontakt als Link einfügen
       '-----------------------------------------------------------------
'        Call .Links.Add(objContact)
.Location = strLocation


Nun steht in der Adrssleiste nur Musterstrasse 12
Plz und Ort fehlt
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top
#9
Hallo Daniel,

André schlug Dir folgendes vor:
Zitat:strLocation = objContact.HomeAddress & " " & objContact.HomeAddressPostalCode & " " & objContact.HomeAddressCity
Msgbox StrLocation

Du hast uns ja inzwischen gezeigt, was im Lokalfenster angezeigt wird und siehst ja, was wo drin steht. Also brauchst du doch nur die passenden Teile entsprechend einfügen bzw. ändern:
strLocation = objContact.HomeAddressStreet & " " & objContact.HomeAddressPostalCode & " " & objContact.HomeAddressCity
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Daniel Albert
Top
#10
Code:
If objContact.BusinessAddressPostalCode = "" And objContact.BusinessAddressCity = "" And objContact.BusinessAddress = "" Then .Location = objContact.HomeAddressStreet & " " & objContact.HomeAddressPostalCode & " " & objContact.HomeAddressCity Else .Location = objContact.BusinessAddressStreet & " " & objContact.BusinessAddressPostalCode & " " & objContact.BusinessAddressCity
Kann ich den Geschäftsbereich auch in euren Code integrieren ?
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste