Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Userform in Userform

Userform in Userform
16.07.2008 07:30:00
stefanseevetal
Hallo liebe Experten,
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


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

Betreff
Datum
Anwender
Anzeige
AW: Userform in Userform
16.07.2008 07:36:15
Hajo_Zi
Hallo STefan,
die Frage die sich mir stellt, warum noch eine UserForm. Benutze doch die gleiche und blende zusätzliche Steuerelemente ein und aus. Ändere die Titelzeile, dann hast Du auch ein eindeutiges Kennzeichen in welcher Userform Du dich befindest.

AW: Userform in Userform
16.07.2008 08:38:00
Patrick
Es ist keine schöne Lösung aber über globale Variablen läßt sich das lösen.
In Form1 brauchst du folgenden Eintrag:

Public newContact As Object


und der Zugriff in der neuen Form erfolgt dann so: In deiner neuen Form mußt du auch die Variable zugreifen


Set Form1.newContact = "eingegebene Daten"


Wie gesagt ist nicht schön aber möglich. Eine Form doppelt zu belegen finde ich dagegen aber noch schlimmer aber das ist eher eine persönliche Meinung. Funktionieren wird es wohl auch. Gruß Patrick

Anzeige
Danke
16.07.2008 10:28:00
stefanseevetal
Hallo Ihr zwei!
Vielen Dank für die Vorschläge. Habe Hajos Lösung gewählt und arbeite nun einfach mit Frames, die ich ein und ausblende. Das funkioniert super.
Danke und Gruß,
Stefan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige