Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
372to376
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Outlook Kontakte auslesen und eintragen

Outlook Kontakte auslesen und eintragen
01.02.2004 14:23:47
dietmar knoll
Hallo
Bitte um Hilfe
Ich möchte in meiner Rechnungsvorlage die Adresse aus Meinem Outlook Kontakte Verzeichnis eintragen lassen, mittels Listbox o.ä.
Anrede
Vorname Name
Strasse
PLZ Ort
ev.Tel. Nr und Fax Nr.
Vielen Dank im voraus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Outlook Kontakte auslesen und eintragen
01.02.2004 15:32:35
Peter Feustel
Hallo Dietmar,
ich mache das in einer mehrspaltigen ListBox so:


Sub ListBoxAusOutlook()
'
'  Achtung: Der Verweis (Extras/Verweise unter VBA) auf die
'  "Microsoft Outlook 9.0 Object Library" muss aktiviert sein !!!
'
Dim Verz       As Object
Dim iIndx      As Integer
Dim olMAPI     As New Outlook.Application
Dim objItem    As Object
 
   Application.DisplayAlerts = False
   
   Application.StatusBar = "   die Adressen werden aus Outlook geholt " _
                         & " - das kann einen Moment dauern."
             
   Set Verz = olMAPI.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
   
   UserForm1.ListBox1.ColumnCount = 7
   UserForm1.ListBox1.ColumnWidths = _
            "7,0 cm; 3,5 cm; 1,0 cm; 3,0 cm; 1,0 cm; 3,5 cm; 3,0 cm"
   For iIndx = 1 To Verz.Items.Count
      Set objItem = Verz.Items(iIndx)
      With objItem
         UserForm1.ListBox1.AddItem " "
         UserForm1.ListBox1.List(iIndx - 1, 0) = .FirstName _
                                         & " " & .LastName
         If .BusinessAddressPostOfficeBox = "" Then
            UserForm1.ListBox1.List(iIndx - 1, 1) = .BusinessAddressStreet
          Else
            UserForm1.ListBox1.List(iIndx - 1, 1) = .BusinessAddressPostOfficeBox
         End If
         UserForm1.ListBox1.List(iIndx - 1, 2) = .BusinessAddressPostalCode
         UserForm1.ListBox1.List(iIndx - 1, 3) = .BusinessAddressCity
         UserForm1.ListBox1.List(iIndx - 1, 4) = .CustomerID
         UserForm1.ListBox1.List(iIndx - 1, 5) = .AssistantName
         UserForm1.ListBox1.List(iIndx - 1, 6) = .MiddleName
      End With
   Next iIndx
      
   Set objItem = Nothing
   Set olMAPI = Nothing
   
'  die ListBox nach Namen (nach nur einer, der ersten Spalte) sortieren
   
   listbox_quick_sort 0, 6, UserForm1.ListBox1, 0, UserForm1.ListBox1.ListCount - 1
   
   Application.DisplayAlerts = True
   
   Application.StatusBar = False
              
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5


Gruß, Peter
Anzeige
AW: Outlook Kontakte auslesen und eintragen
01.02.2004 15:52:27
dietmar knoll
Hallo Peter
Herzlichen Dank. Funktioniert einwandfrei.
AW: Outlook Kontakte auslesen und eintragen
01.02.2004 15:56:51
Knut
Late binding ist wohl hier besser:
Option Explicit

Sub ListBoxAusOutlook()
Dim Verz       As Object
Dim iIndx      As Integer
Dim olMAPI     As Object
Dim objItem    As Object
Set olMAPI = CreateObject("Outlook.Application")
Application.DisplayAlerts = False
Application.StatusBar = "   die Adressen werden aus Outlook geholt " _
& " - das kann einen Moment dauern."
Set Verz = olMAPI.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
UserForm1.ListBox1.ColumnCount = 7
UserForm1.ListBox1.ColumnWidths = _
"7,0 cm; 3,5 cm; 1,0 cm; 3,0 cm; 1,0 cm; 3,5 cm; 3,0 cm"
For iIndx = 1 To Verz.Items.Count
Set objItem = Verz.Items(iIndx)
With objItem
UserForm1.ListBox1.AddItem " "
UserForm1.ListBox1.List(iIndx - 1, 0) = .FirstName _
& " " & .LastName
If .BusinessAddressPostOfficeBox = "" Then
UserForm1.ListBox1.List(iIndx - 1, 1) = .BusinessAddressStreet
Else
UserForm1.ListBox1.List(iIndx - 1, 1) = .BusinessAddressPostOfficeBox
End If
UserForm1.ListBox1.List(iIndx - 1, 2) = .BusinessAddressPostalCode
UserForm1.ListBox1.List(iIndx - 1, 3) = .BusinessAddressCity
UserForm1.ListBox1.List(iIndx - 1, 4) = .CustomerID
UserForm1.ListBox1.List(iIndx - 1, 5) = .AssistantName
UserForm1.ListBox1.List(iIndx - 1, 6) = .MiddleName
End With
Next iIndx
Set objItem = Nothing
Set olMAPI = Nothing
'  die ListBox nach Namen (nach nur einer, der ersten Spalte) sortieren
'   listbox_quick_sort 0, 6, UserForm1.ListBox1, 0, UserForm1.ListBox1.ListCount - 1
Application.DisplayAlerts = True
Application.StatusBar = False
End Sub


Knut
Anzeige
AW: Outlook Kontakte auslesen und eintragen
01.02.2004 15:40:16
Torsten
Moin,
ich weiß nicht ob ich das hier veröffentlichen kann oder darf.
Versuchen!
nach Flemming Entdecker des Penicillin
Bei Smarttools gibt es genau das was gesucht wird.
Es kann als Zip-Datei kostenlos heruntergeladen werden und eine Erklärung ist auch dabei.
Die bas-Datei und das Formular in bestehendes Project importieren, Zellen oder ähnliches anpassen, Outlook starten, Makro ausführen, Rechnung schreiben, drucken und verschicken, auf die Bank gehen, schauen ob die Moneten schon das sind fertig.
Einfach genial, genial einfach!
Hier der Link: Outlook-To-Excel
Tee! (nach Flemming)
Tschüß
Anzeige

27 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige