Thema Datum  Von Nutzer Rating
Antwort
27.06.2015 07:42:46 hapeki
Solved
28.06.2015 23:21:21 Gast70655
Solved
28.06.2015 23:22:56 Gast13217
Solved
29.06.2015 17:09:14 Gast6438
Solved
29.06.2015 17:10:24 hapeki
Solved
Blau Userform zur Laufzeit importiert, Laufzeitfehler 91
29.06.2015 20:59:43 Gast44853
Solved
29.06.2015 22:16:38 Gast77516
Solved
01.07.2015 12:27:48 hapeki
Solved
01.07.2015 17:47:03 Gast73871
Solved

Ansicht des Beitrags:
Von:
Gast44853
Datum:
29.06.2015 20:59:43
Views:
818
Rating: Antwort:
 Nein
Thema:
Userform zur Laufzeit importiert, Laufzeitfehler 91

Hallo,

ah da kommen wir der Sache näher, Du willst in derselben Prozedur auf die Form zugreifen, die hast Du ja schon mit dem Auflistungs-Objekt am Wickel, also verfährst Du für den Zugriff auf das Label genauso:

Option Explicit

Private lstrFrmName As String

Public Sub prcInit()
  Const vbext_ct_MSForm As Long = 3
  Dim objVBComponent As Object
  lstrFrmName = "UserForm1"
  For Each objVBComponent In Application.VBE.ActiveVBProject.VBComponents
     With objVBComponent
        If .Type = vbext_ct_MSForm And _
           .Name = lstrFrmName Then Exit For
     End With
  Next
  If Not objVBComponent Is Nothing Then
    MsgBox "Das Formular '" & lstrFrmName & "' wurde bereits importiert", vbExclamation
    Set objVBComponent = Nothing
  Else
    Call prcImportTest
  End If
End Sub

Private Sub prcImportTest()
Dim strSourcePath As String, strTargetPath As String
Dim strFrmName As String
With ThisDocument
    strSourcePath = .Path & "\source_Form_Import.docm"
    strTargetPath = .FullName
End With
Application.OrganizerCopy Source:=strSourcePath, Destination:=strTargetPath, _
   Name:=lstrFrmName, Object:=wdOrganizerObjectProjectItems
With UserForms.Add(lstrFrmName)
    .Label1.Caption = "Neu"
    .Show
End With
End Sub


Auf das UserForm1-Objekt könntest Du über einen Timer zugreifen, dann wird kein Fehler geworfen; alles andere wie oben:

Private Sub prcImportTest()
Dim strSourcePath As String, strTargetPath As String
Dim strFrmName As String
With ThisDocument
    strSourcePath = .Path & "\source_Form_Import.docm"
    strTargetPath = .FullName
End With
Application.OrganizerCopy Source:=strSourcePath, Destination:=strTargetPath, _
   Name:=lstrFrmName, Object:=wdOrganizerObjectProjectItems
Application.OnTime When:=Now, Name:="prcTimer"
End Sub

Private Sub prcTimer()
With UserForm1
    .Label1.Caption = "Neu"
    .Show
End With
End Sub

Gruß,

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
27.06.2015 07:42:46 hapeki
Solved
28.06.2015 23:21:21 Gast70655
Solved
28.06.2015 23:22:56 Gast13217
Solved
29.06.2015 17:09:14 Gast6438
Solved
29.06.2015 17:10:24 hapeki
Solved
Blau Userform zur Laufzeit importiert, Laufzeitfehler 91
29.06.2015 20:59:43 Gast44853
Solved
29.06.2015 22:16:38 Gast77516
Solved
01.07.2015 12:27:48 hapeki
Solved
01.07.2015 17:47:03 Gast73871
Solved