Anpassen einer Formularvorlage mithilfe eines Skripts

Sollten Sie mit dem Schreiben von Skript vertraut sein, können Sie Ihrer Microsoft Office InfoPath-Formularvorlage mithilfe von Microsoft JScript oder der Microsoft Visual Basic Scripting Edition (VBScript) als Skriptsprache ein Skript hinzufügen. Durch Hinzufügen von Skript haben Sie die Möglichkeit, Ihre Formularvorlage genauer anzupassen, als das mithilfe von Regeln, Formeln, Datenüberprüfung oder bedingter Formatierung möglich wäre. Sie können z. B. ein Skript hinzufügen, das eine E-Mail-Nachricht erstellt und sendet, wenn ein Benutzer eine Ansicht in einem Formular wechselt, das auf Ihrer Formularvorlage basiert. Sie können eine Formularvorlage zum Erstellen und Senden einer E-Mail-Nachricht nur mithilfe von Skript konfigurieren.

Inhalt dieses Artikels

Übersicht

Kompatibilitätsaspekte

Festlegen der Skriptsprache für eine Formularvorlage

Anzeigen einer Meldung beim Auftreten eines Ereignisses

Hinzufügen eines Skripts, das ausgeführt wird, wenn ein Benutzer die Formulardaten speichert

Hinzufügen eines Skripts, das ausgeführt wird, wenn ein Benutzer die Formulardaten absendet

Hinzufügen eines Skripts, das beim Klicken auf eine Schaltfläche durch einen Benutzer ausgeführt wird

Hinzufügen eines Skripts, das beim Zusammenführen vorhandener Formulare ausgeführt wird

Hinzufügen eines Skripts zum Aktualisieren der vorhandenen Formulare

Hinzufügen eines Skripts für andere Ereignisse

Übersicht

Sie können Ihre InfoPath-Formulare mithilfe von Regeln, Formeln, Datenüberprüfung und bedingter Formatierung anpassen. Obwohl diese Features sehr vielseitig sind und eine breite Palette an Aufgaben meistern können, übersteigen einige der Aufgaben die Möglichkeiten dieser Features. Sie können z. B. keine Regeln zum Senden einer E-Mail-Nachricht verwenden, wenn ein Benutzer einen Wert in ein Textfeld in einem Formular eingibt. Wenn Sie Ihre Formularvorlage auf eine Weise anpassen müssen, die die Möglichkeiten dieser Features übersteigt und Sie mit dem Schreiben von Skripts mithilfe von JScript oder VBScript als Skriptsprache vertraut sind, können Sie ein Skript hinzufügen, das ausgeführt wird, wenn ein Benutzer ein neues Formular öffnet oder ein vorhandenes auf Ihrer Formularvorlage basierendes Formular ändert.

Wenn Sie einer Formularvorlage ein Skript hinzufügen möchten, startet InfoPath den Microsoft Script-Editor (MSE), der Ihnen das Hinzufügen, Bearbeiten und Debuggen eines Skripts in einer Formularvorlage ermöglicht und den Cursor in das ausgewählte Ereignis platziert. InfoPath fügt dem Skript automatisch einen Ereignishandler hinzu. Ein Ereignishandler ist der Funktionscode in einer InfoPath-Formularvorlage, der auf eine Benutzeraktion oder eine Änderung an den XML-Daten in einem Formular reagiert. Wenn Ihre Benutzer ihre Formulare an mehreren Netzwerkadressen speichern sollen, können Sie dem Ereignishandler für OnSaveRequest ein Skript hinzufügen. Wen Sie ein Skript hinzufügen, das aufgeführt werden soll, wenn der Benutzer ein auf Ihrer Formularvorlage basierendes Formular speichert, startet InfoPath den Skript-Editor und fügt dem Skript einen der folgenden Codes hinzu.

Hinweis : Der Code, der InfoPath hinzufügt, richtet sich nach Ihrer ausgewählten Skriptsprache.

JScript

//=======
// The following function handler is created by Microsoft Office InfoPath.
// Do not modify the name of the function, or the name and number of arguments.
//=======
function XDocument::OnSaveRequest(eventObj)
{
// Write the code to be run before saving here.
eventObj.IsCancelled = eventObj.PerformSaveOperation();
// Write the code to be run after saving here.
eventObj.ReturnStatus = true;
}

VBScript

'=======
' The following function handler is created by Microsoft Office InfoPath.
' Do not modify the name of the function, or the name and number of arguments.
'=======
Sub XDocument_OnSaveRequest(eventObj)
' Write the code to be run before saving here.
eventObj.IsCancelled = eventObj.PerformSaveOperation
' Write the code to be run after saving here.
eventObj.ReturnStatus = True
End Sub

Sie können den Code dann an den verschiedenen Stellen im Ereignishandler platzieren, der das Formular an der anderen Netzwerkadresse speichert. Wenn ein Benutzer ein Formular basierend auf dieser Formularvorlage speichert, führt InfoPath den Code im Ereignishandler für OnSaveRequest aus.

Hinweis : Dieser Artikel liefert eine anspruchsvolle Darstellung des Erstellens von Skripts in einer Formularvorlage. Weitere Informationen über den Microsoft Skript-Editor und die in InfoPath verwendeten spezifischen Objekte, Methoden, Ereignisse und Eigenschaften finden Sie in der InfoPath-Referenz für Entwickler.

InfoPath fügt mit einer Ausnahme allen folgenden Ereignissen automatisch Ereignishandler hinzu.

Ereignishandler

Beschreibung

Schritte beim Erstellen

OnAfterChange

Dieses Ereignis wird ausgeführt, nachdem ein Benutzer den Wert in dem angegebenen Steuerelement, das an ein Feld gebunden ist, geändert hat. Sie können z. B. einen benutzerdefinierten HTML-Aufgabenbereich anzeigen, nachdem der Benutzer ein Element in einem Listenfeld-Steuerelement ausgewählt hat. Dieses Ereignis wird nach dem Ereignis OnValidate ausgeführt.

Klicken Sie mit der rechten Maustaste auf ein Steuerelement auf der Formularvorlage oder ein Feld im Aufgabenbereich Datenquelle, zeigen Sie im Kontextmenü auf Programmierung, und klicken Sie auf On After Change-Ereignis.

OnAfterImport

Dieses Ereignis wird ausgeführt, nachdem der Benutzer mehrere Formulare in einem Formular zusammengeführt hat.

Fügen Sie manuell mithilfe von MSE direkt der Skriptdatei die Deklaration des Ereignishandlers OnAfterImport hinzu. Dieser Ereignishandler kann nicht im Entwurfsmodus erstellt werden.

OnBeforeChange

Dieses Ereignis wird ausgeführt, wenn ein Benutzer den Wert in einem Steuerelement ändert und bevor der Wert in dem an dieses Steuerfeld gebundene Feld hinzugefügt wurde. Sie können z. B. verhindern, dass ein Benutzer eine zusätzliche Zeile hinzufügt, bevor er die letzte Zeile in einer wiederholten Tabelle ausgefüllt hat.

Klicken Sie mit der rechten Maustaste auf ein Steuerelement auf der Formularvorlage oder ein Feld im Aufgabenbereich Datenquelle, zeigen Sie im Kontextmenü auf Programmierung, und klicken Sie auf On Before Change-Ereignis.

OnClick

Dieses Ereignis wird ausgeführt, wenn ein Benutzer auf eine diesem Ereignis zugeordnete Schaltfläche klickt. Dieses Ereignis ist nach dem Hinzufügen einer Schaltfläche zu der Formularvorlage verfügbar. Sie können z. B. eine komplizierte Berechnung mithilfe der Werte in den Feldern in der Hauptdatenquelle ausführen, wenn ein Benutzer auf die Schaltfläche klickt.

Doppelklicken Sie auf das Schaltflächen-Steuerelement und anschließend auf die Registerkarte Allgemein im Dialogfeld Schaltflächeneigenschaften, klicken Sie auf Formularcode bearbeiten.

OnContextChange

Dieses Ereignis wird jedes Mal ausgeführt, wenn im Formular der Fokus wechselt. So wird es z. B: dann ausgeführt, wenn ein Benutzer von einem Textfeld zu einer Datumsauswahl wechselt, oder wenn ein Benutzer die Ansicht ändert. Dieses Ereignis wird nach allen anderen Ereignissen ausgeführt.

Zeigen Sie im Menü Extras auf Programmierung, und klicken Sie anschließend auf On Context Change-Ereignis.

OnLoad

Dieses Ereignis wird jedes Mal ausgeführt, wenn ein Benutzer ein neues Formular erstellt oder ein vorhandenes Formular, das auf Ihrer Formularvorlage beruht, öffnet. Sie können z. B. eine Liste von Elementen aus einer sekundären Datenquelle in die Hauptdatenquelle kopieren, wenn ein Benutzer das Formular öffnet.

Zeigen Sie im Menü Extras auf Programmierung, und klicken Sie anschließend auf On Load-Ereignis.

OnMergeRequest

Dieses Ereignis wird ausgeführt, wenn Formulare, die auf Ihrer Formularvorlage basieren, zusammengeführt werden. Sie können z. B. die Anzahl der zusammengeführten Formulare anzeigen, um dem Benutzer während des Zusammenführungsvorgangs eine Statusinformationen zu geben.

Klicken Sie im Menü Extras auf Formularoptionen. Klicken Sie in der Liste Kategorie auf Erweitert. Aktivieren Sie unter Formulare zusammenführen das Kontrollkästchen Mithilfe benutzerdefiniertem Code zusammenführen, und klicken Sie anschließend auf Bearbeiten.

OnSaveRequest

Dieses Ereignis wird ausgeführt, wenn ein Benutzer ein auf Ihrer Formularvorlage basierendes Formular speichert. Sie können z. B. das auf dieser Formularvorlage basierende Formular an mehr als einem Speicherort speichern, wenn ein Benutzer das Formular speichert. InfoPath fügt zwei zusätzliche Codezeilen für dieses Ereignis hinzu: eine Zeile, mit der das Formular gespeichert wird, und eine andere Zeile, die Ihnen mitteilt, ob InfoPath das Formular erfolgreich gespeichert hat.

Klicken Sie im Menü Extras auf Formularoptionen. Klicken Sie in der Liste Kategorie auf Öffnen und speichern. Aktivieren Sie unter Verhalten beim Speichern das Kontrollkästchen Speichern erfolgt mittels benutzerdefiniertem Code, und klicken Sie anschließend auf Bearbeiten.

OnSign

Dieses Ereignis wird ausgeführt, wenn ein Benutzer ein Formular digital signiert. Sie können z. B. der digitalen Signatur eines Kostenberichtsformulars zusätzliche Daten hinzufügen, wenn der Benutzer das Formular unterschreibt.

Zeigen Sie im Menü Extras auf Programmierung, und klicken Sie anschließend auf On Sign-Ereignis.

OnSubmitRequest

Dieses Ereignis wird ausgeführt, wenn ein Benutzer Formulardaten absendet. Sie können z. B. die Formulardaten an einen sicheren Webdienst senden, wenn der Benutzer im Menü Datei auf Absenden klickt. Da InfoPath eine Datenverbindung zu einem sicheren Webdienst nicht unterstützt, müssen Sie eine benutzerdefinierte Datenverbindung hinzufügen, die mit Ihrem sicheren Webdienst funktioniert.

Klicken Sie im Menü Extras auf Optionen zum Absenden. Aktivieren Sie das Kontrollkästchen Übermitteln dieses Formulars durch Benutzer zulassen, klicken Sie auf Benutzerdefinierte Aktion mithilfe von Code ausführen, und klicken Sie anschließend auf Code bearbeiten.

OnSwitchView

Dieses Ereignis wird ausgeführt, wenn ein Benutzer ein auf Ihrer Formularvorlage basierendes Formular öffnet oder in eine andere Ansicht im Formular wechselt. Sie können z. B., wenn ein Benutzer in eine bestimmte Ansicht wechselt, eine E-Mail-Nachricht erstellen, die die Daten aus den Feldern in der Hauptdatenquelle des Formulars enthält.

Zeigen Sie im Menü Extras auf Programmierung, und klicken Sie anschließend auf On Switch View-Ereignis.

OnValidate

Dieses Ereignis wird ausgeführt, wenn ein Benutzer den Wert in einem Steuerelement, das an ein Feld gebunden ist, ändert. Sie können z. B., wenn der Benutzer den Wert in einem bestimmten Steuerelement ändert, einen neuen Wert für ein anderes Steuerelement berechnen, indem Sie die vom Benutzer eingegebene Zahl und eine im Skript enthaltene Zahl verwenden. Dieses Ereignis tritt ein, nachdem der Ereignishandler OnBeforeChange ausgeführt wurde.

Klicken Sie mit der rechten Maustaste auf ein Steuerelement auf der Formularvorlage oder ein Feld im Aufgabenbereich Datenquelle, zeigen Sie im Kontextmenü auf Programmierung, und klicken Sie auf On After Validate-Ereignis.

OnVersionUpgrade

Dieses Ereignis wird ausgeführt, wenn ein Benutzer ein vorhandenes Formular öffnet und die vom vorhandenen Formular verwendete Versionsnummer der Formularvorlage älter als die Versionsnummer der Formularvorlage am Veröffentlichungsort ist. Wenn ein Benutzer eine vorhandene Formularvorlage öffnet, wird von InfoPath die Versionsnummer der Formularvorlage für das vorhandene Formular überprüft. Wenn die Formularvorlage eine neuere Versionsnummer aufweist, führt InfoPath den Ereignishandler OnVersion aus, sobald der Benutzer das vorhandene Formular öffnet. Stellen Sie sich z. B. vor, dass Sie einer vorhandenen Formularvorlage ein neues Feld hinzufügen und diese erneut veröffentlichen, und Sie möchten, dass der Hauptdatenquelle das neue Feld hinzugefügt wird, wenn ein Benutzer ein vorhandenes Formular öffnet. Dieses Ereignis fügt der Hauptdatenquelle das neue Feld hinzu, wenn ein Benutzer ein vorhandenes Formular öffnet.

Klicken Sie im Menü Extras auf Formularoptionen. Klicken Sie in der Liste Kategorie auf Versionskontrolle. Klicken Sie in der Liste Bei Versionsaktualisierung auf Benutzerdefiniertes Ereignis verwenden, und klicken Sie anschließend auf Bearbeiten.

Seitenanfang

Kompatibilitätsaspekte

Sie können einer Browserkompatible Formularvorlage kein Skript hinzufügen. Sie können nur einer Formularvorlage Skript hinzufügen, deren Formulare in InfoPath ausgefüllt werden. Sie können eine browserkompatible Formularvorlage nur mithilfe von verwaltetem Code anpassen.

Seitenanfang

Festlegen der Skriptsprache für eine Formularvorlage

Um eine Formularvorlage mithilfe von Skript anzupassen, können Sie Microsoft JScript oder Microsoft Visual Basic Scripting Edition (VBScript) verwenden. InfoPath ist standardmäßig für das Hinzufügen von Skript mithilfe von JScript konfiguriert. Wenn Ihre Formularvorlage keinen Skript oder verwalteten Code enthält und Sie VBScript als Skriptsprache bevorzugen, können Sie die Skriptsprache für Ihre Formularvorlage in VBScript ändern. Sie können aber nicht beide Skriptsprachen in ein und derselben Formularvorlage verwenden.

Wenn die Formularvorlage bereits Skript in einer Sprache enthält und Sie gern die andere Sprache verwenden möchten, müssen Sie den vorhandenen Skript speichern, damit Sie den Skript in die andere Sprache konvertieren können. Entfernen Sie den Skript aus der Formularvorlage über das Dialogfeld Formularoptionen, und fügen Sie anschließend den konvertierten Skript in die Formularvorlage ein. InfoPath kann Skripts nicht in eine andere Skriptsprache konvertieren. Wenn Sie die Skriptsprache im Dialogfeld Formularoptionen ändern, ist davon nur diese Formularvorlage betroffen. Die anderen Formularvorlagen behalten JScript als Standardskriptsprache.

  1. Klicken Sie im Menü Extras auf Formularoptionen.

  2. Klicken Sie im Dialogfeld Formularoptionen in der Liste Kategorie auf Programmierung.

  3. Klicken Sie in der Liste Formularcodesprache unter Programmiersprache auf VBScript.

    Hinweise : 

    • Nachdem Sie die Skriptsprache festgelegt und einen oder mehrere Ereignishandler für eine Formularvorlage erstellt haben, können Sie die Skriptsprache für die Formularvorlage nicht mehr ändern.

    • Wenn bei Ihnen Microsoft Visual Studio 2005 Tools für Applikationen installiert ist, ist Microsoft Visual Basic .NET die Standardsprache. Sie können mit diesem Verfahren auch hier die Skriptsprache noch in VBScript ändern.

Seitenanfang

Anzeigen einer Meldung beim Auftreten eines Ereignisses

Wenn Sie wissen möchten, welche Ereignishandler in Reaktion auf eine Aktion oder ein Ereignis ausgeführt werden, können Sie beim Ausführen des Ereignishandlers einen temporären Code zum Anzeigen eines Meldungsfelds hinzufügen. Sie sollten diesen Code lediglich zum Bestimmen des Zeitpunkts verwenden, zu dem ein Ereignishandler ausgeführt wird. Nach Hinzufügen dieses Codes können Sie mithilfe der Vorschau das auf dieser Formularvorlage basierende Formular anzeigen, oder Sie können die Formularvorlage veröffentlichen und dann eine neue Formularvorlage erstellen. Einige Ereignishandler werden nur ausgeführt, wenn Sie nach Veröffentlichen der Formularvorlage ein Formular erstellen. Anschließend können Sie eine Aktion ausführen, von der Sie annehmen, sie könnte auch den Ereignishandler ausführen. Wird der Ereignishandler ausgeführt, wird ein Meldungsfeld angezeigt.

Nachdem Sie die Aktionen oder Ereignisse zum Ausführen des Ereignishandlers bestimmt haben, entfernen Sie den Code und fahren mit dem Entwurf der Formularvorlage fort. Wenn Sie diesen Code nicht entfernen und dann die Formularvorlage veröffentlichen, können Ihre Benutzer dieses Meldungsfeld beim Ausführen des Ereignishandlers anzeigen.

  1. Fügen Sie Ihren Ereignishandler hinzu.

  2. Um Code in JScript hinzuzufügen, geben Sie XDocument.UI.Alert("Das Event name-Ereignis wurde soeben ausgeführt"); ein. Ersetzen Sie dies durch den Namen Ihres Ereignishandlers. Wenn Sie diesen Code z. B. dem Ereignishandler für OnValidate hinzufügen, geben Sie XDocument.UI.Alert("Der Ereignishandler für OnValidate wurde soeben ausgeführt"); ein

  3. Um Code in VBScript hinzuzufügen, geben Sie XDocument.UI.Alert("Das Event name-Ereignis wurde soeben ausgeführt") ein. Wenn Sie z. B. diesen Code dem Ereignishandler OnSaveRequest hinzufügen, geben Sie XDocument.UI.Alert("Der Ereignishandler OnSaveRequest wurde soeben ausgeführt")ein.

  4. Klicken Sie zum Testen des Codes im Menü Datei auf Vorschau, oder drücken Sie STRG+UMSCHALT+B, und führen Sie dann eine Benutzeraktion aus, die das Ereignis starten kann. Wenn das Ereignis mit der Codezeile auftritt, sollte ein Meldungsfeld Ihre Meldung anzeigen.

    Hinweis : Bei einigen Ereignissen ist es möglicherweise erforderlich, dass Sie die Formularvorlage veröffentlichen und anschließend ein auf dieser Formularvorlage basierendes Formular erstellen, bevor Sie zum Starten des Ereignisses eine Benutzeraktion ausführen können.

  5. Bevor Sie die Formularvorlage veröffentlichen und Ihren Benutzern ermöglichen, auf dieser Formularvorlage basierende Formulare auszufüllen, löschen Sie den Code, den Sie zum Anzeigen des Meldungsfelds verwendet haben.

Seitenanfang

Hinzufügen eines Skripts, das ausgeführt wird, wenn ein Benutzer die Formulardaten speichert

  1. Klicken Sie im Menü Extras auf Formularoptionen.

  2. Klicken Sie in der Liste Kategorie im Dialogfeld Formularoptionen auf Öffnen und Speichern.

  3. Aktivieren Sie unter Verhalten beim Speichern das Kontrollkästchen Speichern erfolgt mittels benutzerdefiniertem Code, und klicken Sie dann auf Bearbeiten. Der Microsoft Skript-Editor startet mit dem Cursor am Ereignishandler für OnSaveRequest.

    JScript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnSaveRequest(eventObj)
    {
    // Write the code to be run before saving here.
    eventObj.IsCancelled = eventObj.PerformSaveOperation();
    // Write the code to be run after saving here.
    eventObj.ReturnStatus = true;
    }

    VBScript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnSaveRequest(eventObj)
    ' Write the code to be run before saving here.
    eventObj.IsCancelled = eventObj.PerformSaveOperation
    ' Write the code to be run after saving here.
    eventObj.ReturnStatus = True
    End Sub
  4. Führen Sie eine der folgende Aktionen aus:

    • Ersetzen Sie den Kommentar Write the code to be run before saving here.mit Ihrem Code, um einen Skript hinzuzufügen, bevor InfoPath das Formular speichert.

    • Ersetzen Sie den Kommentar Write the code to be run after saving here. mit Ihrem Code, um einen Skript hinzuzufügen, nachdem InfoPath das Formular gespeichert hat.

  5. Um Ihre Änderungen zu testen, klicken Sie auf der Symbolleiste Standard auf Vorschau, oder drücken Sie STRG+UMSCHALT+B.

    Hinweis : Wird der Ereignishandler nur ausgeführt, nachdem Sie ein auf Ihrer Formularvorlage basierendes Formular erstellt haben, veröffentlichen Sie die Formularvorlage durch Klicken auf Veröffentlichen im Menü Datei, und schließen Sie dann den Veröffentlichungs-Assistenten. Nach Veröffentlichen der Formularvorlage erstellen Sie ein Formular, und führen Sie dann zum Ausführen des Ereignishandlers eine Aktion aus.

Seitenanfang

Hinzufügen eines Skripts, das ausgeführt wird, wenn ein Benutzer die Formulardaten absendet

  1. Klicken Sie im Menü Extras auf Optionen zum Absenden.

  2. Aktivieren Sie im Dialogfeld Optionen zum Absenden das Kontrollkästchen Benutzer können das Formular absenden.

  3. Klicken Sie auf Benutzerdefinierte Aktion mithilfe von Code ausführen, und klicken Sie dann auf Code bearbeiten. Der Microsoft Skript-Editor startet mit dem Cursor am Ereignishandler für OnSubmitRequest.

    JScript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnSubmitRequest(eventObj)
    {
    // If the submit operation is successful, set
    // eventObj.ReturnStatus = true;
    // Write your code here
    }

    VBScript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnSubmitRequest(eventObj)
    ' If the submit operation is successful, set
    ' eventObj.ReturnStatus = True
    ' Write your code here
    End Sub
  4. Ersetzen Sie den Kommentar If the submit operation is successful, set eventObj.ReturnStatus = true Write your code here durch Ihren Code.

  5. Um Ihre Änderungen zu testen, klicken Sie auf der Symbolleiste Standard auf Vorschau, oder drücken Sie STRG+UMSCHALT+B.

Seitenanfang

Hinzufügen eines Skripts, das beim Klicken auf eine Schaltfläche durch einen Benutzer ausgeführt wird

  1. Fügen Sie der Ansicht in der Formularvorlage eine neue Schaltfläche hinzu, und doppelklicken Sie dann auf die Schaltfläche.

    Hinweis : Wenn Sie einer vorhandenen Schaltfläche Skript hinzufügen, doppelklicken Sie stattdessen auf die vorhandene Schaltfläche.

  2. Klicken Sie auf die Registerkarte Allgemein.

  3. Klicken Sie auf Formularcode bearbeiten. Der Microsoft Skript-Editor startet mit dem Cursor am Ereignishandler OnClick für diese Schaltfläche.

    JScript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function Button Name::OnClick(eventObj)
    {
    // Write your code here
    }

    VBScript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub Button Name_OnClick(eventObj)
    ' Write your code here
    End Sub
  4. Ersetzen Sie den Kommentar Write your code here durch Ihren Code.

  5. Um Ihre Änderungen zu testen, klicken Sie auf der Symbolleiste Standard auf Vorschau, oder drücken Sie STRG+UMSCHALT+B.

Seitenanfang

Hinzufügen eines Skripts, das beim Zusammenführen vorhandener Formulare ausgeführt wird

  1. Klicken Sie im Menü Extras auf Formularoptionen.

  2. Klicken Sie in der Liste Kategorie im Dialogfeld Formularoptionen auf Erweitert.

  3. Aktivieren Sie unter Formulare zusammenführen das Kontrollkästchen Zusammenführen von Formularen aktivieren.

  4. Aktivieren Sie das Kontrollkästchen Mithilfe benutzerdefiniertem Code zusammenführen, und klicken Sie dann auf Bearbeiten. Der Microsoft Skript-Editor startet mit dem Cursor am Ereignishandler für OnMergeRequest.

    JScript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnMergeRequest(eventObj)
    {
    // Write the code that handles each form being merged here.
    XDocument.ImportDOM(eventObj.DOM);
    eventObj.ReturnStatus = true;
    }

    VBScript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnMergeRequest(eventObj)
    ' Write the code that handles each form being merged here.
    XDocument.ImportDOM(eventObj.DOM)
    eventObj.ReturnStatus = True
    End Sub
  5. Ersetzen Sie den Kommentar Write the code that handles each form being merged here. durch Ihren Code.

  6. Veröffentlichen Sie zum Testen des Codes in diesem Ereignis die Formularvorlage, erstellen Sie mehrere auf dieser Formularvorlage basierende Formulare, und führen Sie die Formularvorlagen zusammen.

    Hinweis : Verknüpfungen zu weiteren Informationen zum Veröffentlichen Ihrer Formularvorlagen finden Sie im Abschnitt Siehe auch.

Seitenanfang

Hinzufügen eines Skripts zum Aktualisieren der vorhandenen Formulare

Wenn Sie eine zuvor veröffentlichte Formularvorlage aktualisiert haben und Sie die auf dieser Formularvorlage basierenden Formulare aktualisieren möchten, können Sie der aktualisierten Formularvorlage Skript hinzufügen, die ausgeführt wird, wenn ein Benutzer eines der vorhandenen Formulare öffnet. Öffnet ein Benutzer ein vorhandenes Formular, überprüft InfoPath die Versionsnummer seiner zugeordneten Formularvorlage am Veröffentlichungsort. Sollte die Versionsnummer am Veröffentlichungsort neuer als die Versionsnummer im vorhandenen Formular sein, führt InfoPath den Code in diesem Ereignis zur Aktualisierung des vorhandenen Formulars aus.

  1. Klicken Sie im Menü Extras auf Formularoptionen.

  2. Klicken Sie in der Liste Kategorie im Dialogfeld Formularoptionen auf Versionsverwaltung.

  3. Klicken Sie in der Liste Bei Versionsaktualisierung auf Benutzerdefiniertes Ereignis verwenden, und klicken Sie dann auf Bearbeiten. Der Microsoft Skript-Editor startet mit dem Cursor am Ereignishandler für OnVersionUpgrade.

    JScript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnVersionUpgrade(eventObj)
    {
    // Write your code here
    }

    VBScript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnVersionUpgrade(eventObj)
    ' Write your code here
    End Sub
  4. Ersetzen Sie den Kommentar Write your code here durch Ihren Code.

  5. Um den Code in diesem Ereignis zu testen, veröffentlichen Sie die Formularvorlage, erstellen Sie mehrere auf dieser Formularvorlage basierende Formulare, ändern und veröffentlichen Sie eine aktualisierte Version der Formularvorlage, und öffnen Sie dann ein auf der älteren Version dieser Formularvorlage basierendes Formular.

    Hinweis : Verknüpfungen zu weiteren Informationen zum Veröffentlichen Ihrer Formularvorlagen finden Sie im Abschnitt Siehe auch.

Seitenanfang

Hinzufügen eines Skripts für andere Ereignisse

Dieses Verfahren kann dazu verwendet werden, Ihrer Formularvorlage die folgenden Ereignishandler hinzuzufügen:

  • OnAfterChange

  • OnBeforeChange

  • OnContextChange

  • OnLoad

  • OnSwitchView

  • OnSign

  • OnValidate

  • Zeigen Sie im Menü Extras auf Programmierung, und klicken Sie dann auf das Ereignis, das dem Ereignishandler hinzugefügt werden soll. Der Microsoft Skript-Editor startet mit dem Cursor am Ereignishandler, den Sie ausgewählt haben.

  • Ersetzen Sie den Kommentar Write your code here durch Ihren Code.

Seitenanfang

Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×