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, 8001 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
Mit freundlichen Grüßen
Benny
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Outlook & Mail
Outlook Export und Import zwischen Windows und Mac

Frage von VoDa81 zum Thema Outlook & Mail ...

Microsoft Office
Outlook 2007 speichert Exchange Kennwörter nicht (2)

Frage von stefts zum Thema Microsoft Office ...

Outlook & Mail
Outlook 2007 legt ost-dateien offenbar immer im ANSI-Format an (3)

Frage von coltseavers zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...