Name eines Formularfeldes in Word ermitteln

  • Sonstige

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von alchimist.

    Name eines Formularfeldes in Word ermitteln

    Moin, Moin...

    Ich habe ein Formular mit vielen Formularfeldern. Einige Formularfeldern rufen ein Makro auf, wenn sie den Fokus erhalten. Wie ermittel ich den Index bzw. Namen des Formularfeldes, das das Makro aufgerufen hat?

    Danke im voraus...
    Ich habe ein Formular mit vielen Formularfeldern. Einige Formularfeldern rufen ein Makro auf, wenn sie den Fokus erhalten. Wie ermittel ich den Index bzw. Namen des Formularfeldes, das das Makro aufgerufen hat?

    Index für Steuerelemente gibt es in VBA leider nicht. X(
    Wie meinst du das mit den Namen ermitteln? Normalerweise hat jedes Formularfeld seine eigene "GotFocus"-Prozedur. Da musst du also keinen Namen ermitteln. Wenn du dann aber in den ganzen "GotFocus"-Prozeduren ein Makro aufrufst, der bei allen Formularfeldern gleich ist, so kannst du doch dem Makro ein Parameter zur Identifizierung des Formularfeldes übergeben. Dann weißt du, welches Formularfeld gerade den Makro aufruft.
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Hallo Kal El,

    das ist eine unangenehme Frage X( , ich hatte schon mal Zeit in die Lösung investiert, aber jetzt habe ich eine Idee, die mir zwar nicht so toll gefällt, aber sie scheint zu klappen.

    Versuche doch mal dieses Makro aufzurufen:
    <pre>Sub test()
    Dim r As Range
    Dim f As FormField
    Set r = Selection.Range
    For Each f In ActiveDocument.FormFields
    If f.Range.Start < r.Start And r.End < f.Range.End Then
    MsgBox f.Name & " ist gerade aufgerufen worden"
    End If
    Next f
    Set f = Nothing
    Set r = Nothing
    End Sub</pre>

    Hier wird anscheinend immer der korrekte Name des FormFields angeben, von dem aus das Makro aufgerufen wurde.

    @ Agent:
    ich denke mal du meinst Felder auf einer UserForm bzw OLE-Controls auf dem Dokument.


    Gruß Markus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „alchimist“ ()