ich habe ein Userform (UF_Outlook) mit einer Listbox, in die ich die Kontakte aus Outlook einlese. Per Button wird der ausgewählte Kontakt dann in das Arbeitsblatt übernommen. Funktioniert auch wunderbar.
Nun das Problem:
Ich habe eine weiteres Userform, welcher per Button im UF_Outlook aufgerufen wird. In diesem kann ich einen neune Kontakt für Outlook eingeben, welcher dann übernommen werden soll.
Im UF_Outlook habe ich bereits ein Outlook-Objekt erzeugt, kann ich das irgendwie mit nutzen in der neuen Userform? Oder muss ich in der Userform ein weiteres Objekt erzeugen?
Hier der Code, der im UF_Outlook steht. In der neuen Userform benötige ich die Objektvariablen auch wieder, um einen Kontakt in Outlook einfügen zu können. Wie kann ich auf diese Variabeln aus dem neuen Userform zugreifen? Oder muss ich die komplett neu eingeben?
Danke und Gruß,
Stefan
Dim AppOL As Object, NameSpaceOL As Object, KontaktOL As Object, OrdnerOL As Object
Private Sub UserForm_Activate()
On Error GoTo ERRORHANDLER
With lst_Kontakte
ColumnCount = 2
.ColumnWidths = "180;100"
End With
Set AppOL = GetObject(, "Outlook.Application")
Set NameSpaceOL = AppOL.GetNamespace("MAPI")
Set KontakteOL = NameSpaceOL.GetDefaultFolder(olFolderContacts)
Me.cmb_KontakteOrdner.AddItem "Hauptordner"
For Each OrdnerOL In KontakteOL.Folders
Me.cmb_KontakteOrdner.AddItem OrdnerOL.Name
Next
Me.cmb_KontakteOrdner.ListIndex = 0
Exit Sub
ERRORHANDLER:
If Err = 429 Then
Set AppOL = CreateObject("Outlook.Application")
istOffen = False
End If
Resume Next
End Sub
Private Sub cmb_KontakteOrdner_Change()
Dim i As Integer
On Error Resume Next
Application.StatusBar = " die Adressen werden aus Outlook eingelesen " _
& " - das kann einen Moment dauern..."
Me.lst_Kontakte.Clear
If Me.cmb_KontakteOrdner.ListIndex = 0 Then
Set OrdnerOL = NameSpaceOL.GetDefaultFolder(olFolderContacts)
Else
Set OrdnerOL = NameSpaceOL.GetDefaultFolder(olFolderContacts).Folders(Me. _
cmb_KontakteOrdner.ListIndex)
End If
'Die Outlook-Kontakte werden in die Listbox eingetragen
For Each KontaktOL In OrdnerOL.Items
If Not KontaktOL.CompanyName = "" Then
Me.lst_Kontakte.AddItem KontaktOL.CompanyName
Me.lst_Kontakte.list(lst_Kontakte.ListCount - 1, 0) = KontaktOL.CompanyName
If Not KontaktOL.LastName = "" Then
Me.lst_Kontakte.list(lst_Kontakte.ListCount - 1, 1) = KontaktOL.LastName
Else
Me.lst_Kontakte.list(lst_Kontakte.ListCount - 1, 1) = ""
End If
Else
If Not KontaktOL.FirstName = "" Then
Me.lst_Kontakte.AddItem KontaktOL.LastName & ", " & KontaktOL.FirstName
Else
Me.lst_Kontakte.AddItem KontaktOL.LastName
End If
End If
Next
Application.StatusBar = " ...fertig!!!"
End Sub