Prilagođavanje predloška obrasca pomoću skripti

Važno : Ovaj članak je mašinski prevesti potražite u članku Odricanje odgovornosti. O referencu pronaći verzija ovaj članak ovde na engleskom jeziku.

Skripte možete da dodate Microsoft Office InfoPath predlošku obrasca koristeći Microsoft JScript ili Microsoft Visual Basic Scripting Edition (VBScript) jezik za pisanje skripti ako poznajete pisanje skripti. Dodavanje skripti vam omogućava da prilagodite predložak obrasca u većoj meri nego što to omogućavaju pravila, formule, validacija podataka ili uslovno oblikovanje. Na primer, možete da dodate skripta koja kreiraju i šalju e-poruku kada korisnik promeni prikaz u obrascu zasnovanom na tom predlošku obrasca. Samo pomoću skripti možete predložak obrasca da konfigurišete da kreira i šalje e-poruke.

Ovaj članak sadrži:

Pregled

Pitanja kompatibilnosti

Postavljanje skript jezika za predložak obrasca

Prikazivanje poruke svaki put kada dođe do događaja

Dodavanje skripti koje se pokreće kada korisnik čuva podatke iz obrasca

Dodavanje skripti koje se pokreće kada korisnik prosleđuje podatke iz obrasca

Dodavanje skripti koje se pokreće kada korisnik klikne na dugme

Dodavanje skripti koje se pokreće kada objedinjuje postojeće obrasce

Dodavanje skripti za ažuriranje postojećih obrazaca

Dodavanje skripta za druge događaje

Pregled

InfoPath predložak obrasca možete da prilagodite dodavanjem pravila, formula, validacije podataka i uslovnog oblikovanja. Iako su te funkcije veoma fleksibilne i mogu da obave vrlo raznovrsne zadatke, neki zadaci prevazilaze mogućnosti ovih funkcija. Na primer, ne možete da upotrebite pravila da biste poslali e-poruku kada korisnik unese neku vrednost u okvir za tekst u obrascu. Ukoliko treba da prilagodite predložak obrasca na način koji prevazilazi mogućnosti ovih funkcija a poznajete pisanje skripti pomoću JScript ili VBScript jezika za pisanje skripti, možete da dodate skripte koje se pokreću kada korisnik otvori novi obrazac ili promeni postojeći obrazac zasnovan na vašem predlošku obrasca.

Kada predlošku obrasca dodate skripte, InfoPath pokreće Microsoft Script Editor (MSE), koji vam omogućava da dodajete, uređujete i otklanjate greške u predlošku obrasca i smešta kursor u odabrani događaj. InfoPath automatski skriptama dodaje rukovalac događajima. Rukovalac događajima je kôd funkcije u InfoPath predlošku obrasca koji se odaziva na radnju korisnika ili promenu u XML podacima u obrascu. Na primer, ako želite da korisnici sačuvaju obrasce na nekoliko lokacija u mreži, možete da dodate skripte rukovaocu događajima OnSaveRequest. Kada dodate skripte koji se izvršavaju kada korisnik čuva obrazac zasnovan na vašem predlošku, InfoPath pokreće editor za skripte i skriptama dodaje neki od sledećih kodova.

Napomena : Koji će kôd InfoPath dodati zavisi od jezika za skripte koji ste odabrali.

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

Kôd zatim možete dodati na odgovarajuća mesta u rukovaocu događajima koji čuva obrazac na različitim mrežnim lokacijama. Kada korisnik sačuva obrazac zasnovan na tom predlošku obrasca, InfoPath izvršava kôd u rukovaocu događajima OnSaveRequest.

Napomena : Ovaj članak pruža letimični prikaz kreiranja skripti u predlošku obrasca. Pročitajte reference za InfoPath projektante da biste saznali više o programu Microsoft Script Editor i specifičnim objektima, metodima, događajima i svojstvima koji se koriste u programu InfoPath.

InfoPath automatski dodaje rukovalac događajima za sve osim za jedan od narednih događaja.

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.

Vrh stranice

Pitanja kompatibilnosti

Skripte ne možete dodati predložak obrasca kompatibilan sa pregledačem. Skripte možete dodati samo predlošku obrasca čiji će obrasci biti popunjavani u programu InfoPath. Predložak obrasca kompatibilan sa pregledačem možete da prilagodite samo pomoću kontrolisanog kôda.

Vrh stranice

Postavljanje skript jezika za predložak obrasca

Da biste prilagodili predložak obrasca upotrebom skripta, možete da koristite Microsoft JScript ili Microsoft Visual Basic Scripting Edition (VBScript). InfoPath je podrazumevano konfigurisan tako da biste dodali skripte pomoću programskog jezika JScript. Ako vaš predložak obrasca ne sadrži skripte niti kontrolisani kôd i volite da koristite VBScript kao jezik za izvršavanje skripti, možete da promenite skript jezika za predložak obrasca da biste VBScript. Ne možete da koristite oba skript jezika u istom predlošku obrasca.

Ako predložak obrasca već sadrži skriptu na jednom jeziku i želite da koristite na drugom jeziku, koje treba da sačuvate postojeće skriptu tako da možete da konvertujete skriptu na drugom jeziku, uklonite skriptu iz predloška obrasca pomoću dijaloga Opcije obrasca , a zatim dodajte konvertovani skriptu u predložak obrasca. InfoPath ne može da konvertuje skripti novog skript jezika. Promena jezika skripti u dijalogu Opcije obrasca utiče samo na ovom predlošku obrasca. Drugih predložaka obrazaca će imati JScript kao podrazumevani izvršavanje skripti jezik.

  1. U meniju Alatke izaberite stavku Opcije obrasca.

  2. Na listi kategorija , u dijalogu Opcije obrasca kliknite na dugme programiranje.

  3. Na listi jezik kôd predloška obrasca u okviru programskog jezika, izaberite stavku VBScript.

    Napomene : 

    • Nakon što je postavljanje skript jezika i kreirate jednu ili više događajem za predložak obrasca, ne možete promeniti skript jezika za predložak obrasca.

    • Ako imate instaliran Microsoft Visual Studio 2005 alatke za aplikacije, podrazumevani jezik je Microsoft Visual Basic .NET. I dalje možete da koristite ovu proceduru da biste promenili skript jezika VBScript.

Vrh stranice

Prikazivanje poruke pri svakom odvijanju događaja

Možete da dodate privremeni kôd za prikazivanje okvira za poruke uvek kada je rukovalac događajima aktivan ako želite da znate koji je rukovalac događajima pokrenut kao odgovor na neku radnju ili drugi događaj. Taj kôd treba da koristite samo za određivanje kada je neki rukovalac događajima aktivan. Nakon što dodate taj kôd, možete da upotrebite pregled da biste pogledali obrazac zasnovan na tom predlošku ili da objavite predložak obrasca i zatim kreirate novi predložak obrasca. Neki rukovaoci događajima funkcionišu samo ako obrazac kreirate nakon što ste objavili predložak obrasca. Tada možete da izvršite neku radnju za koju mislite da bi mogla da pokrene rukovalac događajima. Kada se rukovalac događajima pokrene, videćete okvir za poruke.

Nakon što odredite koje radnje ili događaji pokreću rukovalac događajima, uklonite kôd i nastavite sa dizajniranjem predloška obrasca. Korisnici će videti okvir za poruke kada se rukovalac događajima pokrene ako taj kôd ne uklonite a objavite predložak obrasca.

  1. Dodajte rukovaoca događajima.

  2. Da biste dodali kôd u JScript, otkucajte XDocument.UI.Alert ("za događaj ime događaja je"); Zamenite ime rukovaoca događajima. Na primer, ako dodate ovaj kôd OnValidate rukovalac događajem, bi da otkucate XDocument.UI.Alert ("The OnValidate događajem je");

  3. Da biste dodali kôd u VBScript, otkucajte XDocument.UI.Alert ("za događaj ime događaja je") na primer, ako dodate ovaj kôd događajima OnSaveRequest , treba da unesete XDocument.UI.Alert ("The OnSaveRequest događajem je")

  4. U meniju Datoteka izaberite stavku Pregled ili pritisnite tastere CTRL+SHIFT+B, a zatim izvršite korisničku radnju koja može da pokrene taj događaj da biste proverili kôd. Kada se desi događaj koji sadrži taj kôd, okvir za poruke treba da prikaže vašu poruku.

    Napomena : Neki događaji mogu zahtevati da objavite predložak obrasca i zatim kreirate obrazac zasnovan na tom predlošku obrasca pre nego što možete da izvršite korisničku radnju koja pokreće događaj.

  5. Pre nego što objavite predložak obrasca i korisnicima omogućite da popunjavaju obrasce zasnovane na tom predlošku, obrišite kôd koji ste koristili za prikazivanje okvira za poruke.

Vrh stranice

Dodavanje skripti koje funkcionišu kada korisnik čuva podatke iz obrasca

  1. U meniju Alatke izaberite stavku Opcije obrasca.

  2. U dijalogu Opcije obrasca, sa liste Kategorija izaberite stavku Otvori i sačuvaj.

  3. U odeljku Čuvanje ponašanja potvrdite izbor Sačuvaj pomoću prilagođenog koda, a zatim kliknite na dugme Uredi. Microsoft Script Editor pokreće se sa kursorom postavljenim na rukovalac događajima 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. Postupite na neki od sledećih načina:

    • Komentar Write the code to be run before saving here. zamenite svojim kodom da biste dodali skripte koji će funkcionisati pre nego što InfoPath sačuva obrazac.

    • Komentar Write the code to be run after saving here. zamenite svojim kodom da biste dodali skripte koji će funkcionisati nakon što InfoPath sačuva obrazac.

  5. Da biste testirali promene, kliknite na dugme Pregled na standardnoj traci sa alatkama ili pritisnite kombinaciju tastera CTRL+SHIFT+B.

    Napomena : Objavite predložak obrasca izabiranjem stavke Objavi u meniju Datoteka, a zatim dovršite čarobnjak za objavljivanje ako rukovalac događajima funkcioniše samo nakon što kreirate obrazan zasnovan na predlošku obrasca. Nakon što objavite predložak obrasca, kreirajte obrazac a zatim izvršite neku radnju da biste pokrenuli rukovalac događajima.

Vrh stranice

Dodavanje skripti koje funkcionišu kada korisnik prosleđuje podatke iz obrasca

  1. U meniju Alatke izaberite stavku Opcije prosleđivanja.

  2. U dijalogu Opcije prosleđivanja potvrdite izbor u polju za potvrdu Dozvoli korisnicima da prosleđuju ovaj obrazac .

  3. Izaberite opciju Izvrši prilagođene radnje koristeći kôd, a zatim kliknite na dugme Uredi kôd. Microsoft Script Editor pokreće se sa kursorom postavljenim na rukovalac događaja 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. Umesto komentara If the submit operation is successful, set eventObj.ReturnStatus = true Write your code here upišite vaš kôd.

  5. Da biste testirali promene, kliknite na dugme Pregled na standardnoj traci sa alatkama ili pritisnite kombinaciju tastera CTRL+SHIFT+B.

Vrh stranice

Dodavanje skripti koje funkcionišu kada korisnik klikne na dugme

  1. Dodajte novo dugme prikazu u predlošku obrasca, a zatim dvaput kliknite na dugme.

    Napomena : Umesto toga dvaput kliknite na postojeće dugme ako skripte dodajete postojećem dugmetu.

  2. Izaberite karticu Opšte postavke.

  3. Kliknite na dugme Uredi kôd obrasca. Microsoft Script Editor pokreće se sa kursorom na rukovaocu događajima OnClick za to dugme.

    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. Umesto komentara Write your code here upišite vaš kôd.

  5. Da biste testirali promene, kliknite na dugme Pregled na standardnoj traci sa alatkama ili pritisnite kombinaciju tastera CTRL+SHIFT+B.

Vrh stranice

Dodavanje skripti koje funkcionišu kada se objedine postojeći obrasci

  1. U meniju Alatke izaberite stavku Opcije obrasca.

  2. U dijalogu Opcije obrasca, sa liste Kategorija izaberite stavku Više opcija.

  3. U odeljku Objedini obrasce potvrdite izbor Omogući objedinjavanje obrazaca.

  4. Potvrdite izbor Objedini koristeći prilagođeni kôd, a zatim kliknite na dugme Uredi. Microsoft Script Editor pokreće se sa kursorom na rukovaocu događajima 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. Umesto komentara Write the code that handles each form being merged here. upišite vaš kôd.

  6. Objavite predložak obrasca, kreirajte nekoliko obrazaca zasnovanih na tom predlošku, a zatim objedinite predloške obrasca da biste testirali kôd u ovom događaju.

    Napomena : Veze ka dodatnim informacijama o objavljivanju predloška obrasca potražite u odeljku Takođe pogledajte.

Vrh stranice

Dodavanje skripti za ažuriranje postojećih obrazaca

Možete da dodate skripta ažuriranom predlošku obrasca koji se aktivira kada korisnik otvori neki od postojećih obrazaca ako ste ažurirali prethodno objavljeni predložak obrasca i želite da ažurirate postojeće obrasce zasnovane na tom predlošku. Kada korisnik otvori postojeći obrazac, InfoPath proverava broj verzije pridruženog predloška obrasca na lokaciji za objavljivanje. InfoPath pokreće kôd u ovom događaju da bi ažurirao postojeći obrazac ako je broj verzije predloška obrasca na lokaciji za objavljivanje noviji od broja verzije u postojećem obrascu, što ukazuje da je bio ažuriran.

  1. U meniju Alatke izaberite stavku Opcije obrasca.

  2. U dijalogu Opcije obrasca, sa liste Kategorija izaberite stavku Kreiranje verzija.

  3. Sa liste Prilikom nadogradnje verzije izaberite stavku Koristi prilagođeni događaj, a zatim kliknite na dugme Uredi. Microsoft Script Editor pokreće se sa kursorom postavljenim na rukovaoca događajima 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. Umesto komentara Write your code here upišite vaš kôd.

  5. Objavite predložak obrasca, napravite izmene i objavite ažuriranu verziju predloška obrasca, a zatim otvorite postojeći obrazac zasnovan na starijoj verziji tog predloška da biste testirali kôd u ovom događaju.

    Napomena : Veze ka dodatnim informacijama o objavljivanju predloška obrasca potražite u odeljku Takođe pogledajte.

Vrh stranice

Dodavanje skripta za druge događaje

Ova procedura se može koristiti za dodavanje sledećih rukovalaca događajima predlošku obrasca:

  • OnAfterChange

  • OnBeforeChange

  • OnContextChange

  • OnLoad

  • OnSwitchView

  • OnSign

  • OnValidate

  • U meniju Alatke postavite pokazivač na stavku Programiranje, a zatim izaberite događaj koji želite da dodate rukovaocu događajima. Microsoft Script Editor pokreće se sa kursorom postavljenim na rukovalac događajima koji ste izabrali.

  • Umesto komentara Write your code here upišite svoj kôd.

Vrh stranice

Napomena : Odricanje odgovornosti mašinskog prevođenja: ovaj članak je preveden sistem računara bez ljudski interventne. Microsoft nudi ove mašinskog prevoda da pomogne koja nije na engleskom govornih korisnicima da uživate u sadržaju za Microsoft proizvode, usluge i tehnologijama. U članku bio mašinskog prevesti, mogu da sadrže greške u rečnik, sintaksa ili gramatiku.

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×