Particularizarea unui șablon formular prin intermediul unui script

Important : Acest articol este tradus automat, consultați exonerarea de răspundere. Versiunea în limba engleză a acestui articol se poate găsi aici pentru referință.

Dacă scrierea de scripturi vă este familiară, aveți posibilitatea să adăugați un script la șablonul formular Microsoft Office InfoPath utilizând limbajul Microsoft JScript sau Microsoft Visual Basic Scripting Edition (VBScript). Adăugarea de script permite particularizarea șablonului formular mai mult decât în modul în care se poate face cu reguli, formule, validări de date sau formatare condițională. De exemplu, aveți posibilitatea să adăugați un script care creează și trimite un mesaj de poștă electronică când un utilizator comută vizualizarea la o formă bazată pe șablonul dvs. Un șablon formular poate fi configurat să creeze și să trimită un mesaj de poștă electronică doar prin intermediul unui script.

În acest articol

Prezentare generală

Considerații de compatibilitate

Configurarea limbajului pentru un șablon formular

Afișează un mesaj de fiecare dată când are loc un eveniment

Adăugați un script care să ruleze atunci când un utilizator salvează datele de formular

Adăugați un script care să ruleze atunci când un utilizator remite date formă

Adăugați un script care să ruleze atunci când utilizatorul face clic pe un buton

Adăugați un script care să ruleze atunci când sunt îmbinate formulare existente

Adăugați un script pentru a actualiza formulare existente

Adăugați un script pentru alte evenimente

Prezentare generală

Șablonul formular InfoPath se poate particulariza utilizând reguli, formule, validare de date și formatare condițională. Cu toate că aceste caracteristici sunt foarte flexibile și pot îndeplini o serie de activități, unele acțiuni depășesc capacitățile oferite de aceste caracteristici. De exemplu, nu este posibilă utilizarea regulilor pentru a trimite un mesaj de poștă electronică când un utilizator introduce o valoare într-o casetă text dintr-un formular. Dacă este necesară particularizarea șablonului formular într-un mod care depășește capacitățile celorlalte caracteristici și sunteți familiarizat cu scrierea de script în limbajele JScript sau VBScript, aveți posibilitatea să adăugați un script care se execută atunci când un utilizator deschide un formular nou sau modifică unul existent care este bazat pe șablonul formular al dvs.

Când adăugați un script la un șablon formular, InfoPath lansează Microsoft Script Editor (MSE), care vă permite să adăugați, să editați și să depanați script într-un șablon formular și plasează cursorul în evenimentul ales. InfoPath adaugă automat la script o rutină de tratare a evenimentelor. O rutină de tratare a evenimentelor este codul funcției dintr-un șablon formular InfoPath care răspunde la o acțiune a utilizatorului sau la o modificare în datele XML dintr-un formular. De exemplu, dacă doriți ca utilizatorii dvs. să salveze formularele în câteva locații de rețea, aveți posibilitatea să adăugați un script la rutina de tratare a evenimentelor OnSaveRequest. Când adăugați un script care să se execute atunci când utilizatorul salvează un formular pe baza șablonului formular, InfoPath lansează editorul de script și adaugă la script unul dintre următoarele coduri.

Notă : Codul adăugat de InfoPath depinde de limbajul ales pentru scrierea de script.

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

Aveți apoi posibilitatea să adăugați cod în locurile potrivite din rutina de tratare a evenimentului care salvează formularul în locația din rețea diferită. Când un utilizator salvează un formular pe baza acestui șablon formular, InfoPath execută codul din rutina de tratare a evenimentelor OnSaveRequest.

Notă : Acest articol prezintă o vedere de ansamblu asupra creării de scripturi într-un șablon formular. Pentru a afla mai multe despre Microsoft Script Editor și despre obiectele, metodele, evenimentele și proprietățile utilizate în InfoPath, consultați documentația pentru dezvoltatori InfoPath.

InfoPath adaugă automat rutine de tratare a evenimentelor pentru toate evenimentele, cu excepția celor care urmează.

Event handler

Description

Steps for creating

OnAfterChange

This event runs after a user changes the value in the specified control bound to a field. For example, you can display a custom HTML task pane after a user selects an item in a list box control. This event runs after the OnValidate event.

Right-click a control on the form template or a field in the Data Source task pane, point to Programming on the shortcut menu, and then click On After Change Event.

OnAfterImport

This event runs after the user successfully merges several forms into one form.

Manually add the OnAfterImport event handler declaration directly to the script file by using MSE. This event handler cannot be created in design mode.

OnBeforeChange

This event runs after a user changes the value in a control and before the value is added to the specified field bound to that control. For example, you can prevent a user from adding an additional row before filling out the last row in a repeating table.

Right-click a control on the form template or a field in the Data Source task pane, point to Programming on the shortcut menu, and then click On Before Change Event.

OnClick

This event runs when a user clicks a button associated with this event. This event is available after you add a button to the form template. For example, you can perform a complex calculation by using the values in fields in the main data source when a user clicks the button.

Double-click the button control and then on the General tab of the Button Properties dialog box, click Edit Form Code.

OnContextChange

This event runs when the focus changes in the form. For example, this event runs when a user navigates from a text box to a date picker, or when a user switches views. This event occurs after all other events have occurred.

On the Tools menu, point to Programming, and then click On Context Change Event.

OnLoad

This event runs whenever a user creates a new form or opens an existing form based on your form template. For example, you can copy a list of items from a secondary data source to the main data source when a user opens the form.

On the Tools menu, point to Programming, and then click On Load Event.

OnMergeRequest

This event runs when forms based on your form template are merged. For example, you can display the number of forms that were merged to give a user a status during the merge operation.

On the Tools menu, click Form Options. In the Category list, click Advanced. Under Merge forms, select the Merge using custom code check box, and then click Edit.

OnSaveRequest

This event runs when a user saves a form based on your form template. For example, you can save the form based on this form template to more than one location when a user saves the form. InfoPath adds two additional lines of code to this event: a line that saves the form and another line that tells you if InfoPath successfully saved the form.

On the Tools menu, click Form Options. In the Category list, click Open and Save. Under Save behavior, select the Save using custom code check box, and then click Edit.

OnSign

This event runs when a user applies a digital signature to a form. For example, you can add additional data to the digital signature of an expense report form when a user signs it.

On the Tools menu, point to Programming, and then click On Sign Event.

OnSubmitRequest

This event runs when a user submits his or her form data. For example, you can submit the form data to a secure Web service when the user clicks Submit on the File menu. Since InfoPath does not support a data connection to a secure Web service, you need to add a custom data connection that works with your secure Web service.

On the Tools menu, click Submit Options. Select the Allow users to submit this form check box, click Perform custom action using Code, and then click Edit Code.

OnSwitchView

This event runs when a user opens a form based on your form template or switches to another view in the form. For example, when a user switches to a specific view, you can create an e-mail message that contains data from the fields in the form's main data source.

On the Tools menu, click Programming, and then click On Switch View Event.

OnValidate

This event runs when a user changes the value in a control bound to a field. For example, when the user changes the value in a specific control, you can calculate a new value for another control by using the number that the user entered and a number that is in the script. This event occurs after the OnBeforeChange event handler runs.

Right-click a control on the form template or a field in the Data Source task pane, point to Programming on the shortcut menu, and then click On After Validate Event.

OnVersionUpgrade

This event runs when a user opens an existing form and the version number of the form template used by the existing form is older than the version number of the form template in the publish location. When a user opens an existing form, InfoPath checks the version number of the form template associated with the existing form. If the form template has a newer version number, InfoPath runs the OnVersion event handler when the user opens the existing form. For example, imagine that you add a new field to an existing form template and republish it, and you want the new field to be added to the main data source if a user opens an existing form. This event adds the new field to the main data source when a user opens an existing form.

On the Tools menu, click Form Options. In the Category list, click Versioning. In the On version upgrade list, click Use custom event, and then click Edit.

Începutul paginii

Considerații de compatibilitate

Nu este posibilă adăugarea de script la un șablon formular compatibil cu browserul. Este posibilă adăugarea de script numai la un șablon formular ale cărui formulare se vor completa în InfoPath. Aveți posibilitatea să completați un șablon formular compatibil cu browserul numai dacă utilizați cod gestionat.

Începutul paginii

Configurarea limbajului de script al unui formular

Pentru a particulariza un şablon formular utilizând un script, utilizaţi Microsoft JScript sau Microsoft Visual Basic Scripting Edition (VBScript). În mod implicit, InfoPath este configurat pentru a adăuga script utilizând JScript. Dacă şablonul formular nu conţine niciun script sau cod gestionat şi preferaţi să utilizaţi VBScript ca limbaj de scriptare, schimbaţi limbajul de scriptare pentru şablonul formular cu VBScript. Nu se pot utiliza ambele limbaje de scriptare în acelaşi şablon formular.

Dacă şablonul formular conţine deja script într-unul dintre limbaje şi doriţi să utilizaţi celălalt limbaj, trebuie să salvaţi scriptul existent pentru a face conversia scriptului în celălalt limbaj, să eliminaţi scriptul din şablonul formular cu ajutorul casetei de dialog Opţiuni formular, apoi să adăugaţi scriptul, după conversie, înapoi în şablonul formular. InfoPath nu poate face conversia scripturilor într-un limbaj de scriptare nou. Schimbarea limbajului de scriptare din caseta de dialog Opţiuni formular afectează numai acest şablon formular. Celelalte şabloane formular vor avea ca limbaj implicit de scriptare JScript.

  1. În meniul Instrumente, faceți clic pe Opțiuni formular.

  2. În lista Categorie, din caseta de dialog Opţiuni formular, faceţi clic pe Programare.

  3. În lista limba de codul șablon formular , sub limbajul de programare, faceți clic pe VBScript.

    Note : 

    • După setarea limbajului de scriptare şi crearea uneia sau mai multor rutine de tratare a evenimentelor pentru un şablon formular, nu mai este posibilă schimbarea limbajului de scriptare pentru acel şablon formular.

    • Dacă aţi instalat Microsoft Visual Studio 2005 Tools for Applications, limbajul implicit este Microsoft Visual Basic .NET. Se poate, însă, utiliza această procedură pentru a schimba limbajul de scriptare cu VBScript.

Începutul paginii

Afișarea unui mesaj de fiecare dată când se produce un eveniment

Dacă doriți să știți ce execută rutinele de tratare a evenimentelor ca răspuns la o acțiune sau la alt eveniment, aveți posibilitatea să adăugați temporar cod care să afișeze o casetă de mesaj de fiecare dată când se execută rutina de tratare a evenimentelor. Acest cod ar trebui utilizat numai pentru a determina când se execută o rutină de tratare a evenimentelor. După adăugarea acestui cod, aveți posibilitatea să utilizați examinarea pentru a vedea un formular bazat pe acest șablon formular sau pentru a publica șablonul formular și a crea apoi un nou șablon formular. Unele rutine de tratare a evenimentelor se execută numai dacă creați un formular după publicarea șablonului formular. Efectuați atunci o acțiune care credeți că ar lansa rutina de tratare a evenimentelor. Când se execută rutina, veți vedea o casetă de mesaj.

După ce determinați ce acțiuni sau ce evenimente lansează rutina de tratare a evenimentelor, eliminați codul, apoi reluați proiectarea șablonului formular. Dacă nu eliminați acest cod și publicați apoi acest șablon formular, utilizatorii vor vedea această casetă de mesaj când se execută rutina de tratare a evenimentelor.

  1. Adăugați rutina de tratare a evenimentelor.

  2. Pentru a adăuga cod în JScript, tastați XDocument.UI.Alert ("Event nume eveniment doar rulat"); Înlocuiți cu numele de tratare a evenimentului. De exemplu, dacă adăugați acest cod la OnValidate de tratare a evenimentului, să tastați XDocument.UI.Alert ("OnValidate rutină de tratare eveniment doar rulat");

  3. Pentru a adăuga cod în VBScript, tastați XDocument.UI.Alert ("Event nume eveniment doar rulat") , de exemplu, dacă adăugați acest cod pentru a evenimentului OnSaveRequest , să tastați XDocument.UI.Alert ("OnSaveRequest rutină de tratare eveniment doar rulat")

  4. Pentru a testa codul, faceți clic pe Examinare în meniul Fișier sau apăsați CTRL+SHIFT+B, apoi efectuați ca utilizator o acțiune care poate lansa evenimentul. Când se produce evenimentul cu linia de cod respectivă, ar trebui ca o casetă de mesaj să vă afișeze mesajul.

    Notă : Unele evenimente vă pot cere să publicați șablonul formular, apoi să creați un formular pe baza acestui șablon formular înainte de a fi posibilă efectuarea unei acțiuni ca utilizator care să lanseze evenimentul.

  5. Înainte de a publica șablonul formular și a permite utilizatorilor să completeze formulare pe baza acestui șablon formular, ștergeți codul utilizat pentru a afișa caseta de mesaj.

Începutul paginii

Adăugarea unui script care să se execute când un utilizator salvează datele formularului

  1. În meniul Instrumente, faceți clic pe Opțiuni formular.

  2. În lista Categorie din caseta de dialog Opțiuni formular, faceți clic pe Deschidere și salvare.

  3. Sub Comportament la salvare, selectați caseta de selectare Salvare prin intermediul unui cod particularizat, apoi faceți clic pe Editare. Microsoft Script Editor pornește având cursorul la rutina de tratare a evenimentului 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. Alegeți una sau ambele variante de mai jos:

    • Pentru a adăuga un script care să se execute înainte ca InfoPath să salveze formularul, înlocuiți comentariul Write the code to be run before saving here. cu codul dvs.

    • Pentru a adăuga un script care să se execute după ce InfoPath salvează formularul, înlocuiți comentariul Write the code to be run after saving here. cu codul dvs.

  5. Pentru a testa modificările, faceți clic pe Previzualizare pe bara de instrumente Standard sau apăsați CTRL+SHIFT+B.

    Notă : Dacă rutina de tratare a evenimentelor se execută numai după ce creați un formular pe baza șablonului formular, publicați șablonul formular utilizând Publicare din meniul Fișier, apoi să terminați Expertul de publicare. După ce publicați șablonul formular, creați un formular, apoi efectuați o acțiune care să execute rutina de tratare a evenimentelor.

Începutul paginii

Adăugarea unui script care să se execute când un utilizator remite datele formularului

  1. În meniul Instrumente, faceţi clic pe Opţiuni remitere.

  2. În caseta de dialog Opţiuni de remitere, bifaţi caseta de selectare Se permite remiterea formularului de către utilizatori.

  3. Faceți clic pe Efectuare acțiune particularizată utilizând Cod, apoi pe Editare cod. Microsoft Script Editor pornește având cursorul la rutina de tratare a evenimentului 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. Înlocuiți comentariul If the submit operation is successful, set eventObj.ReturnStatus = true Write your code here cu codul dvs.

  5. Pentru a testa modificările, faceți clic pe Previzualizare pe bara de instrumente Standard sau apăsați CTRL+SHIFT+B.

Începutul paginii

Adăugarea unui script care să se execute când un utilizator face clic pe un buton

  1. Adăugați un nou buton la o vizualizare din șablonul formular, apoi faceți dublu clic pe buton.

    Notă : Dacă adăugați script la un buton existent, faceți dublu clic pe butonul existent.

  2. Faceți clic pe fila General.

  3. Faceți clic pe Editare cod formular. Microsoft Script Editor pornește având cursorul la rutina de tratare a evenimentului OnClick pentru respectivul buton.

    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. Înlocuiți comentariul Write your code here cu codul dvs.

  5. Pentru a testa modificările, faceți clic pe Previzualizare pe bara de instrumente Standard sau apăsați CTRL+SHIFT+B.

Începutul paginii

Adăugarea unui script care să se execute când se îmbină formulare existente

  1. În meniul Instrumente, faceți clic pe Opțiuni formular.

  2. În lista Categorie, din caseta de dialog Opțiuni formular, faceți clic pe Complex.

  3. Sub Îmbinare formulare, bifați caseta de selectare Activare îmbinare formulare.

  4. Bifați caseta de selectare Îmbinare utilizând cod particularizat, apoi faceți clic pe Editare. Microsoft Script Editor pornește având cursorul la rutina de tratare a evenimentului 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. Înlocuiți comentariul Write the code that handles each form being merged here. cu codul dvs.

  6. Pentru a testa codul din acest eveniment, publicați șablonul formular, creați câteva formulare pe baza acestui șablon formular, apoi îmbinați șabloanele formular.

    Notă : Găsiți linkuri la mai multe informații despre publicarea șablonului formular în secțiunea Consultați și.

Începutul paginii

Adăugarea unui script care să actualizeze formularele existente

Dacă ați actualizat un șablon formular publicat anterior și doriți să actualizați formularele existente pe baza noului șablon formular, aveți posibilitatea să adăugați script la șablonul formular actualizat care să se execute atunci când un utilizator deschide unul dintre formularele existente. Când un utilizator deschide un formular existent, InfoPath verifică numărul de versiune al șablonului formular asociat din locația de publicare. Dacă numărul de versiune al șablonului formular din locația de publicare este mai nou decât numărul de versiune din formularul existent, indicând astfel faptul că a fost actualizat, InfoPath execută codul din acest eveniment pentru a actualiza formularul existent.

  1. În meniul Instrumente, faceți clic pe Opțiuni formular.

  2. În lista Categorie, din caseta de dialog Opțiuni formular, faceți clic pe Versiuni.

  3. În lista La upgrade de versiune, faceți clic pe Utilizare eveniment particularizat, apoi faceți clic pe Editare. Microsoft Script Editor pornește având cursorul la rutina de tratare a evenimentului 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. Înlocuiți comentariul Write your code here cu codul dvs.

  5. Pentru a testa codul din acest eveniment, publicați șablonul formular, creați câteva formulare pe baza acestui șablon formular, modificați și publicați o versiune actualizată a șablonului formular, apoi deschideți un formular existent bazat pe vechea versiune a acestui șablon formular.

    Notă : Găsiți linkuri la mai multe informații despre publicarea șablonului formular în secțiunea Consultați și.

Începutul paginii

Adăugarea unui script pentru alte evenimente

Această procedură se poate utiliza pentru a adăuga următoarele rutine de tratare a evenimentelor la șablonul formular:

  • OnAfterChange

  • OnBeforeChange

  • OnContextChange

  • OnLoad

  • OnSwitchView

  • OnSign

  • OnValidate

  • În meniul Instrumente, indicați spre Programare, apoi faceți clic pe eveniment pentru a adăuga rutina de tratare a evenimentului. Microsoft Script Editor pornește având cursorul la rutina de tratare a evenimentului selectat.

  • Înlocuiți comentariul Write your code here cu codul dvs.

Începutul paginii

Notă : Exonerare de răspundere pentru traducere automată: Acest articol a fost tradus de un sistem computerizat, fără intervenție umană. Microsoft oferă aceste traduceri automate pentru a ajuta utilizatorii vorbitori de alte limbi decât engleza să beneficieze de conținutul despre produsele, serviciile și tehnologiile Microsoft. Pentru că articolul a fost tradus de un computer, poate conține erori de vocabular, sintaxă sau gramatică.

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×