Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1180to1184
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
Inhaltsverzeichnis

Me.Range Methode fehlgeschlagen plus OL Makro

Me.Range Methode fehlgeschlagen plus OL Makro
Holger
Hallo,
das Makro unten liest alle Kontakte von OutLook in eine Excel Tabelle ein,
falls es jemand brauchen kann, bitte sehr.
Nun zu meinem Problem. Das Makro ist an einen CommandButton geknüpft und
ich in dem Buch wird der Range Bereich immer mit Me. angesprochen.
Nur funktioniert das bei mir nicht, es kommt der Error "Range fehlgeschlagen".
Weiß jemand warum und was bedeutet das Range?
Hier also der Code:
Private Sub GetContactsOL()
Dim objOLApp, objNameSpace, objContItem As Object
Dim intI As Integer
Const olFolderContacts = 10
Const olContact = 40
Set objOLApp = CreateObject("Outlook Application")
Set objNameSpace = objOLApp.GetNamespace("MAPI")
intI = 5
MsgBox "Test"
Me.Range("A5:G5000").ClearContents
Me.Range("A5:G5000").Interior.ColorIndex = vbWhite
Me.Range("A5:G5000").Font.Color = vbBlack
For Each objContItem In objNameSpace.GetDefaultFolder(olFolderContacts).Items
If objContItem.Class = olContact Then
Me.Cells(i, 1) = objContItem.Email1Address
Else
Me.Cells(i, 1) = "DistList: " & objContItem.DLName
Me.Cells(i, 1).Interior.ColorIndex = vbBlack
Me.Cells(i, 1).Font.Color = vbWhite
intI = intI + 1
Next objContItem
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Me.Range Methode fehlgeschlagen plus OL Makro
07.10.2010 18:20:51
Luschi
Hallo Holger,
wenn das Makro in einem normalen Modul steht, dann so:

Private Sub GetContactsOL()
Dim objOLApp  As Object, objNameSpace As Object, objContItem As Object
Dim intI As Integer
Const olFolderContacts = 10
Const olContact = 40
Dim ws As Worksheet
'hier den richtigen Tabellennamen einfügen
Set ws = ThisWorkbook.Worksheets("Tabelle1")
Set objOLApp = CreateObject("Outlook.Application")
Set objNameSpace = objOLApp.GetNamespace("MAPI")
intI = 5
MsgBox "Test"
ws.Range("A5:G5000").ClearContents
ws.Range("A5:G5000").Interior.ColorIndex = xlNone
ws.Range("A5:G5000").Font.Color = vbBlack
For Each objContItem In objNameSpace.GetDefaultFolder(olFolderContacts).Items
If objContItem.Class = olContact Then
ws.Cells(intI, 1).Value = objContItem.Email1Address
Else
ws.Cells(intI, 1) = "DistList: " & objContItem.DLName
ws.Cells(intI, 1).Interior.ColorIndex = vbBlack
ws.Cells(intI, 1).Font.Color = vbWhite
End If
intI = intI + 1
Next objContItem
Set objOLApp = Nothing
Set objNameSpace = Nothing
Set objContItem = Nothing
Set ws = Nothing
End Sub
Mit 'Me.' funktioniert es nur, wenn es im Klassenmodul einer Tabelle steht.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Me.Range Methode fehlgeschlagen plus OL Makro
07.10.2010 21:20:44
Holger
Guten Abend,
also das Me funktioniert nur, wenn das Makro in den Eigenschaften einer Tabelle hinterlegt ist z.B mit einem WorkSheet Activate oder WorkSheet Selection Change?
Komisch, dass das in dem Buch überhaupt nicht erwähnt ist, seltsam.
Den Code habe ich abgeändert, aber er funktioniert nicht so wie erwartet.
Leider gibt es keine Literatur über Outlook Eigenschaften, Objekte et cetera.
Gruß
Holger
AW: Me.Range Methode fehlgeschlagen plus OL Makro
08.10.2010 09:18:59
Luschi
Hallo Holger,
setze mal ganz oben im Modul die folgende Vba-Zeile: Option Explicit
und kompiliere dann mal den Code; bei mir funktioniert er so, wie ich ihn Dir geschickt habe.
Allgemeingültigen Code sollte man sowieso in ein normales Modul unterbringen. Es könnte ja mal sein, das die Ergebnisse der Outlook-Abfrage in einem anderen Tabellenblatt abgelegt werden sollen.
Gruß von Luschi
aus klein-Paris
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige