AW: Mail-Adressen nach Outlook
27.03.2005 13:28:06
Oberschlumpf
"Die erste Hilfe hat auch nicht funktioniert... "
hmm..erwartest Du nun keine weitere Hilfe von mir, oder soll ich, wie oft ein Anderer Antworter schreibt, die Glaskugel rausholen?
Hi Marc
WAS genau hat denn nicht funktioniert?
Nun habe ich den Code mal in eine leere Excel-Datei eingefügt.
genau so, wie er in dem Thread steht, welchen ich Dir zeigte:
Sub ins_Persönliche_AdressBuch_schreiben()
Dim oOl As Outlook.Application
Dim oNsp As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
Dim oContact As Outlook.ContactItem
Dim ifolder As Integer
Set oOl = CreateObject("Outlook.Application")
Set oNsp = oOl.GetNamespace("MAPI")
'hier der kritische Eintrag, der nicht funzt...
Set oFolder = oNsp.Folders(1).Folders("Kontakte")
Set oContact = oFolder.Items.Add
oContact.FirstName = "Micha"
oContact.LastName = "Scheffler"
oContact.Body = "Hallo"
oContact.Save
Set oContact = Nothing
Set oFolder = Nothing
Set oNsp = Nothing
Set oOl = Nothing
End Sub
Stimmt, es funktioniert so nicht.
Liegt aber nicht am Code, sondern daran, dass im VBA-Editor über Extras/Verweise noch der Verweis zur Microsoft Outlook 10.0 Object Library gesetzt werden muss. Bei mir ist es die Version 10, weil ich Office XP nutze, welche Version es bei Deinem Ofice ist, weiss ich nicht. Wird 9 sein, vermute ich.
Nun noch mal in Excel über Extras/Makro/Makros das Makro ausgeführt (es ist das einzige Makro in der Datei)....unnnnnd....in meinem Outlook wird klaglos der Kontakt "Micha Scheffler" eingetragen.
OK, so weit so gut. Aber ich möchte ja gern, dass Einträge aus der Tabelle als Kontakte in Outlook eingetragen werden.
Ich hab in den Zellen A1,B1,C1 und D1 jeweils einen Namen, Vornamen, eMail-Adresse und einen Text eingetragen.
Das Makro hab ich geändert wie folgt:
Sub ins_Persönliche_AdressBuch_schreiben()
Dim oOl As Outlook.Application
Dim oNsp As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
Dim oContact As Outlook.ContactItem
Dim ifolder As Integer
Set oOl = CreateObject("Outlook.Application")
Set oNsp = oOl.GetNamespace("MAPI")
'hier der kritische Eintrag, der nicht funzt...
Set oFolder = oNsp.Folders(1).Folders("Kontakte")
Set oContact = oFolder.Items.Add
oContact.FirstName = Range("A1").Value
oContact.LastName = Range("B1").Value
oContact.Email1Address = Range("C1").Value
oContact.Body = Range("D1").Value
oContact.Save
Set oContact = Nothing
Set oFolder = Nothing
Set oNsp = Nothing
Set oOl = Nothing
End Sub
Und nach einem Start des Makros wurde auch DIESER Eintrag:
| Download des Tabellenkonverters Formeln in den Zellen als QuickNotiz |
| Von Oberschlumpf |

| A | B | C | D |
| 1 | Thomas | Muster | abc@abc.de | und der Code aus Excel heraus funktioniert DOCH! |
in mein Outlook als Kontakt eingetragen.
Um aus der Tabelle mehrere, untereinander stehende Einträge ins Outlook zu bekommen, musst Du den Code "nur" entsprechend in eine Schleife "packen".
Wenn Du damit Probleme hast, dann kannst Du Dich ja wieder hier melden. Aber bitte...
....wenn was nicth funktioniert, bitte eine genaue Fehlerbeschreibung.
So nach dem Motto:
Was hast Du wo angeklickt/welche Daten hast Du wo eingetragen?
Und was passiert dann, bzw Was soll dann passieren?
Hoffe, das ich helfen konnte.
Ciao
Thorsten