Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Outlook 2007 Kontakt Import (per Makro)

Frage Microsoft Outlook & Mail

Mitglied: Alex1989

Alex1989 (Level 1) - Jetzt verbinden

10.04.2009, aktualisiert 20:17 Uhr, 8082 Aufrufe, 1 Kommentar

Hallo zusammen,

ich sitze hier vor einem Problem und hoffe ihr Könnt mir helfen...
Ich möchte gerne über ein Makro Kontakte aus einer csv-Datei auslesen (nur bestimmte Felder) und in den Kontakte-Ordner importieren.
Das dies händisch (Import-Assistent) funktioniert weiß ich, aber wie es per Makro funktioniert weiß ich leider nicht.
Das Exportieren habe ich über folgendes, zusammengebasteltes Makro hinbekommen:
01.
Public Sub ExportContacts() 
02.
  Dim obj As ContactItem 
03.
 
04.
  ' Statt c:\ besser ein anderes Vezeichnis für die Datei verwenden 
05.
  Open "c:\Kontakte.csv" For Output As #1 
06.
 
07.
  ' Titelzeile ausgeben 
08.
  Print #1, "Vorname;Nachname;Firma;Straße;Ort;PLZ;Land;Fax;Telefon;Mobil;E-Mail Adresse" 
09.
  For Each obj In Application.ActiveExplorer.Selection 
10.
 
11.
      ' Für jedes Feld, welches wir exportieren wollen, eine neue Zeile, dies kann beliebig erweitert werden 
12.
 
13.
      Print #1, obj.FirstName; ";"; 
14.
 
15.
      Print #1, obj.LastName; ";"; 
16.
       
17.
      Print #1, obj.CompanyName; ";"; 
18.
       
19.
      Print #1, obj.BusinessAddressStreet; ";"; 
20.
       
21.
      Print #1, obj.BusinessAddressCity; ";"; 
22.
       
23.
      Print #1, obj.BusinessAddressPostalCode; ";"; 
24.
       
25.
      Print #1, obj.BusinessAddressState; ";"; 
26.
       
27.
      Print #1, obj.BusinessFaxNumber; ";"; 
28.
       
29.
      Print #1, obj.BusinessTelephoneNumber; ";"; 
30.
       
31.
      Print #1, obj.MobileTelephoneNumber; ";"; 
32.
 
33.
      Print #1, obj.Email1Address; ";"; 
34.
 
35.
  Next 
36.
  Close #1 
37.
  End Sub 
38.
 
Noch ein frohes Osterwochenende...

Gruß

Alexander
Mitglied: Trax83
17.04.2009 um 01:06 Uhr
Hallo Alexander,

da ich aus deiner PN nun weiß, dass auch ein Import aus Excel in Frage kommt, hier nun mein Vorschlag:

Einfach Dateiname ändern und deinen Kontaktordner eintragen.

Wichtig ist auch, dass in der ersten Zeile der Excelliste immer der Feldname (LastName, FirstName, CompanyName) der Datensätze steht. Dies können auch benutzerdefinierte Feldnamen sein, hauptsache sie existieren.

Beachte aber bitte, dass hier immer direkt nach Dubletten gesucht wird (auch von dir gewünscht) und daher ein Einfügen je nach größe der Datenbank auch etwas länger dauern kann. Ich würde diese Art von Import nur bei kleinen Datenmengen verwenden und sonst eher nochmal ein Makro zur Dubletten-Suche schreiben.

Sub ist eigentlich mal für VB6 gewesen, sollte aber auch unter VBA laufen.

01.
Private Sub ImportContacts() 
02.
 
03.
FileName = "c:\meienExcelliste.xls" 'HIER DEN DATEINAMEN 
04.
Dim Excel As Object 
05.
Set Excel = CreateObject("Excel.Application") 
06.
Excel.Visible = True 
07.
Excel.Workbooks.Open FileName 
08.
 
09.
Dim x As Integer 
10.
Dim Y As Integer 
11.
x = Excel.worksheets.Item(1).usedrange.Columns.Count 
12.
Y = Excel.worksheets.Item(1).usedrange.Rows.Count 
13.
 
14.
Dim i As Integer 
15.
Dim j As Integer 
16.
 
17.
Dim aOutlook As Object 
18.
Dim Contacts As Object 
19.
Dim Contact As Object 
20.
Dim Filter As String 
21.
Dim DubContact As Object 
22.
 
23.
Set aOutlook = Application  
24.
Set Contacts = aOutlook.GetNameSpace("MAPI").Folders.Item("Öffentliche Ordner").Folders("Alle öffentlichen Ordner").Folders("Kontakte von Test") 'DEN KONTAKTORDNER 
25.
 
26.
For j = 2 To Y    'Jede Zeile in der Excelliste lesen 
27.
  Set Contact = Contacts.Items.Add 
28.
  For i = 1 To x  'Alle Eigenschaften in der Liste 
29.
    Contact.itemProperties.Item(Excel.cells(1, i).Value).Value = Excel.cells(j, i).Value 
30.
  Next i 
31.
 
32.
  Filter = "[LastName] = '" + Contact.LastName + "' AND [BusinessAddressPostalCode] = '" + Contact.BusinessAddressPostalCode + "' AND [BusinessAddressStreet] = '" + Contact.BusinessAddressStreet + "' AND [CompanyName]= '" + Contact.CompanyName + "'" 
33.
 
34.
  Set DubContact = Contacts.Items.Find(Filter) 
35.
 
36.
  If DubContact Is Nothing Then 
37.
    Contact.Save 
38.
  End If 
39.
 
40.
  Set Contact = Nothing 
41.
Next j 
42.
 
43.
Exit Sub 
44.
ErrHandler: 
45.
If Err <> cdlCancel Then 
46.
    MsgBox Err.Description 
47.
End If 
48.
Ende: 
49.
End Sub
Mfg
Benny
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Outlook 2007 kann kein Kennwort speichern ausgegraut (4)

Frage von Akcent zum Thema Microsoft Office ...

Microsoft Office
gelöst E-Mail Inhalte können nicht Kopiert werden - Outlook 2007 - IMAP - Windows 10 (2)

Frage von MS6800 zum Thema Microsoft Office ...

Outlook & Mail
Outlook Export und Import zwischen Windows und Mac

Frage von VoDa81 zum Thema Outlook & Mail ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (29)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...