Live-Forum - Die aktuellen Beiträge
Datum
Titel
30.04.2024 18:02:17
30.04.2024 14:00:30
Anzeige
Archiv - Navigation
1704to1708
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
Abfrage beim Öffnen von Datei ob Userform offen
02.08.2019 09:32:13
Datei
Hallo,
wenn ich einen Eingabedialog gebunden geöffnet habe, möchte ich beim Öffnen einer neuen Excel-Arbeitsmappe gern abfragen, ob aktuelle ein Dialog gebunden geöffnet ist, um die Fehlermeldung abzufangen.
Ist die gleiche Vorgehensweise auch in Word möglich?
Vielen Dank für Infos...
LG Lutz

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfrage beim Öffnen von Datei ob Userform offen
02.08.2019 11:30:56
Datei
Hallo Lutz,
zu kannst zwar abfragen ob dein UserForm geladen und sichtbar ist:
Public Sub Test()
    Dim objUserForm As Object
    For Each objUserForm In UserForms
        If objUserForm.Name = "UserForm1" Then
            If objUserForm.Visible Then
                'was auch immer
            End If
        End If
    Next
End Sub

Was nicht geht, abzufragen ob es gebunden oder ungebunden ist.
Und ja, in Word geht das genauso.
Gruß
Nepumuk
Anzeige
AW: Abfrage beim Öffnen von Datei ob Userform o
02.08.2019 11:56:57
Datei
Danke Euch Zweien,
ich stelle die Frage vielleicht nochmal etwas anders: besteht denn die Möglichkeit, mit meiner geöffneten Arbeitsmappe, zu überwachen, ob eine weitere Datei z. B. über den Explorer geöffnet werden soll? Oder ist dies über VBA nicht möglich und geht tiefer ins System also über API?
LG Lutz
AW: Abfrage beim Öffnen von Datei ob Userform o
02.08.2019 11:59:52
Datei
Hallo,
ich hab mich vor allen Dingen gerade gefragt, wie kriegst Du bei einer gebundenen Form eine neue Excel-Datei geöffnet, das geht bei mir weder über Code, noch über Ribbon und auch nicht über ein Excel-Icon, ist ja alles inaktiv bei einer modalen Form...!?
Gruß, Mullit
Anzeige
AW: Abfrage beim Öffnen von Datei ob Userform o
02.08.2019 12:22:33
Datei
Hallo,
sorry ich hab's nicht exakt beschrieben
wenn ich die gebundene Userform geöffnet habe und eine zweites Dokument über den Explorer öffnen möchte, dann bringt die Anwendung ja den Hinweis auf den gebundenen Dialog.... soweit in Ordnung.
Wenn ich allerdings ein Dokument aus SAP öffnen möchte, dann kommt es auch zur Fehlermeldung und beim Schließen der Anwendung (zumindest in Word - in Excel habe ich es noch nicht getestet) die Meldung es ist ein Fehler aufgetreten, die Anwendung wird neu gestartet. Und dies wollte ich im Vorfeld vermeiden.... :-)
LG Lutz
Windows-Explorer, Doppelclick auf .xlsx. o.w.T.
02.08.2019 12:23:15
mmat
AW: nö, nicht bei einer gebundenen Form...;-) owT
02.08.2019 12:37:14
Mullit
AW: Abfrage beim Öffnen von Datei ob Userform o
02.08.2019 12:35:24
Datei
Hallo Lutz,
das kannst du über die Klasse Application erreichen.
In das Modul "DieseArbeitsmappe":
Option Explicit

Private mobjApplicationClass As clsApplication

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Not Saved Then
        Select Case MsgBox("Sollen Ihre Änderungen in '" & Name & _
                    "' gespeichert werden", vbExclamation Or vbYesNoCancel)
            Case vbYes
                Save
            Case vbNo
                Saved = True
            Case vbCancel
                Cancel = True
        End Select
    End If
    If Not Cancel Then Set mobjApplicationClass = Nothing
End Sub

Private Sub Workbook_Open()
    Set mobjApplicationClass = New clsApplication
End Sub

In ein Klassenmodul mit dem Namen "clsApplication":
Option Explicit

Private WithEvents mobApplication As Application

Private Sub Class_Initialize()
    Set mobApplication = Application
End Sub

Private Sub Class_Terminate()
    Set mobApplication = Nothing
End Sub

Private Sub mobApplication_WorkbookOpen(ByVal Wb As Workbook)
    If Not Wb Is ThisWorkbook Then
        Call MsgBox(Wb.Name)
    End If
End Sub

In dem Moment in dem die MsgBox kommt ist die Mappe gerade beim öffnen und du könntest sie wieder schließen. Alle Ordner zu überwachen ob da gerade jemand einen Doppelklick auf eine Excelmappe ausführt wird wohl auch per API nicht gehen.
Gruß
Nepumuk
Anzeige
AW: Abfrage beim Öffnen von Datei ob Userform o
02.08.2019 13:43:01
Datei
Hallo,
vielen Dank für Eure Hilfe.
Ich denke, dass der Code von Nepumik genau das richtige ist... wede es testen....
LG Lutz
uff!
02.08.2019 11:33:39
mmat
Hallo Lutz,
das sind zwei Probleme:
Zum einen müsstest du feststellen, ob ein bestimmtes Userform geöffnet ist. Dazu hab ich spontan nix gefunden, aber man könnte ja irgendwo einen Merker erzeugen, der angelegt wird, wenn das Form geöffnet wird und der beim schließen automatisch gelöscht wird. Sowas wie ein Cookie. Vielleicht gibt's auch noch irgendwas im API.
Wesentlich schwieriger scheint's zu sein, das Makro anzusiedeln, das das Vorhandensein des Userforms prüft und das Öffnen verweigert. M.E. muss dies in der Datei sein, die geöffnet werden soll (Autoopen-Makro). Wahrscheinlich willst du nicht jede Datei die man öffnen könnte, mit dem Makro versehen ...
Achja, falls es dir gelingt, das trotzdem zum laufen zu bringen, dann ist die Wahrscheinlichkeit gross, das das auch in Word funktioniert.
vg, MM
Anzeige
Re:ich stelle die Frage vielleicht nochmal anders
02.08.2019 12:28:18
mmat
Hallo Lutz,
zu deiner Einlassung weiter oben: genau das ist auch mein Punkt 2. Ich weiss es nicht. Scheinbar gibt es kein Ereignis auf das man sich beziehen kann, ausser den Ereignissen in der Mappe, die da gerade geöffnet wird (= "Workbook.open").
vg, MM

232 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige