Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Nota:  Riteniamo importante fornire il contenuto della Guida più recente non appena possibile, nella lingua dell'utente. Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Nella parte inferiore della pagina è possibile indicare se le informazioni sono risultate utili. Questo è l' articolo in lingua inglese per riferimento.

Se si ha familiarità con la scrittura di script, è possibile aggiungere uno script per il modello di modulo di Microsoft Office InfoPath utilizzando Microsoft JScript o il linguaggio di script Microsoft Visual Basic, Scripting Edition (VBScript). Aggiunta di uno script consente di personalizzare il modello di modulo oltre che cos'è disponibile con le regole, formule, la convalida dei dati o formattazione condizionale. Ad esempio, è possibile aggiungere uno script che crea e invia un messaggio di posta elettronica quando si passa alla visualizzazione in un modulo basato sul modello di modulo. È possibile configurare un modello di modulo per creare e inviare un messaggio di posta elettronica solo se si utilizza uno script.

In questo articolo

Panoramica

È possibile personalizzare il modello di modulo di InfoPath utilizzando regole, formule, la convalida dei dati e formattazione condizionale. Sebbene queste funzionalità sono molto flessibili e possono gestire un'ampia varietà di attività, alcune attività sono oltre le capacità di queste funzionalità. È ad esempio, non è possibile usare le regole per inviare un messaggio di posta elettronica quando si immette un valore in una casella di testo in una maschera. Se è necessario personalizzare il modello di modulo in modo che supera le funzionalità di queste funzionalità e si ha familiarità con la scrittura di script mediante il linguaggio di script JScript o VBScript, è possibile aggiungere uno script che viene eseguita quando si apre un nuovo modulo o modifica di una ex modulo ome basato sul modello di modulo.

Quando si aggiunge un script a un modello di modulo, InfoPath verrà avviata la Microsoft Script Editor (MSE), che consente di aggiungere, modificare ed eseguire il debug dello script in un modello di modulo e il cursore viene posizionato nell'evento scelto. InfoPath aggiunge automaticamente un gestore eventi per lo script. Gestore eventi è il codice della funzione in un modello di modulo di InfoPath che risponde a un'azione dell'utente o modificarne i dati XML in un modulo. Ad esempio, se si vuole agli utenti di salvare i moduli in più percorsi di rete, è possibile aggiungere uno script al gestore eventi OnSaveRequest . Quando si aggiunge uno script da eseguire quando si salva un modulo basato sul modello di modulo, InfoPath verrà avviato l'editor di script e aggiunge uno dei seguenti codici per lo script.

Nota: Il codice aggiunto da InfoPath dipende dal linguaggio di script scelto.

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

È quindi possibile aggiungere codice nelle posizioni appropriate nel caso in cui gestore che consente di salvare il modulo al percorso di rete diversa. Quando si salva un modulo basato sul modello di modulo, viene eseguito il codice nel gestore eventi OnSaveRequest .

Nota: In questo articolo viene fornita una panoramica della creazione di script in un modello di modulo. Per ulteriori informazioni su Microsoft Script Editor e specifici oggetti, metodi, eventi e proprietà utilizzate in InfoPath, vedere informazioni di riferimento per sviluppatori di InfoPath.

InfoPath aggiunge automaticamente gestori per tutti tranne uno dei seguenti eventi.

Gestore eventi

Descrizione

Procedura per la creazione

OnAfterChange

Questo evento viene eseguita quando un utente assume il valore del controllo specificato associato a un campo. Ad esempio, è possibile visualizzare un riquadro attività HTML personalizzato dopo che un utente seleziona un elemento in un controllo casella di riepilogo. Dopo l'evento OnValidate verrà eseguito l'evento.

Pulsante destro del mouse un controllo in un campo nel riquadro attività Origine dati o il modello di modulo, scegliere programmazione dal menu di scelta rapida e quindi fare clic Su dopo la modifica evento.

OnAfterImport

Questo evento viene eseguito dopo l'utente è stato unito più moduli in un unico modulo.

Aggiungere manualmente la dichiarazione del gestore eventi OnAfterImport direttamente al file di script tramite MSE. Questo gestore non è possibile creare in modalità progettazione.

OnBeforeChange

Questo evento viene eseguita quando un utente assume il valore in un controllo e prima che il valore viene aggiunto al campo specificato associato a tale controllo. Ad esempio, per impedire un utente di aggiungere una riga aggiuntiva prima di compilare l'ultima riga in una tabella ripetuta.

Pulsante destro del mouse un controllo in un campo nel riquadro attività Origine dati o il modello di modulo, scegliere programmazione dal menu di scelta rapida e quindi fare clic Su evento modifica.

OnClick

Viene eseguito quando un utente fa clic su un pulsante associato all'evento. Questo evento è disponibile dopo aver aggiunto un pulsante al modello di modulo. Ad esempio, è possibile eseguire calcoli complessi utilizzando i valori nei campi dell'origine dati principale quando un utente fa clic sul pulsante.

Fare doppio clic sul controllo pulsante e quindi nella scheda Generale della finestra di dialogo Proprietà-pulsante, fare clic su Modifica codice modulo.

OnContextChange

Viene eseguito quando lo stato attivo viene modificato nel modulo. Ad esempio, l'evento viene eseguita quando si passa da una casella di testo a un controllo selezione data o quando un utente passa da una visualizzazione. Si verifica dopo tutti gli altri eventi si sono verificati.

Dal menu Strumenti scegliere programmazione e quindi fare clic Su evento di modifica di contesto.

OnLoad

Questo evento viene eseguita ogni volta che un utente crea un nuovo modulo o si apre una maschera esistente basata sul modello di modulo. Ad esempio, è possibile copiare un elenco di elementi da un'origine dati secondaria per l'origine dati principale quando si apre il modulo.

Dal menu Strumenti scegliere programmazione e quindi fare clic Su evento di caricamento.

OnMergeRequest

Questo evento viene eseguita durante l'unione moduli basati sul modello di modulo. Ad esempio, è possibile visualizzare il numero di moduli che sono state unite per consentire all'utente uno stato durante l'operazione di stampa unione.

Dal menu Strumenti fare clic su Opzioni modulo. Nell'elenco categoria fare clic su Avanzate. In unire moduli, selezionare la casella di controllo Unisci con codice personalizzato e quindi fare clic su Modifica.

OnSaveRequest

Viene eseguito quando si salva un modulo basato sul modello di modulo. Ad esempio, è possibile salvare il modulo basato su questo modello di modulo a più di una posizione quando si salva il modulo. InfoPath consente di aggiungere due righe di codice a questo evento: una linea che consente di salvare la maschera e un'altra riga che indica se InfoPath salvato il modulo.

Dal menu Strumenti fare clic su Opzioni modulo. Nell'elenco categoria fare clic su Apri e Salva. In salvataggio, selezionare la casella di controllo Salva con codice personalizzato e quindi fare clic su Modifica.

OnSign

Viene eseguito quando un utente applica una firma digitale a una maschera. Ad esempio, è possibile aggiungere dati aggiuntivi per la firma digitale di un modulo nota spese quando un utente accede a esso.

Dal menu Strumenti scegliere programmazione e quindi fare clic Su accesso evento.

OnSubmitRequest

Viene eseguito quando un utente invia la propria dati del modulo. Ad esempio, è possibile inviare i dati del modulo a un servizio Web protetto quando l'utente fa clic su Invia dal menu File. Poiché InfoPath non supporta una connessione dati a un servizio Web protetto, è necessario aggiungere una connessione dati personalizzata che funziona con il servizio Web protetto.

Dal menu Strumenti fare clic su Opzioni invio. Selezionare la casella di controllo Consenti agli utenti di inviare il modulo, fare clic su Esegui azione personalizzata tramite codice e quindi fare clic su Modifica codice.

OnSwitchView

Questo evento viene eseguita all'apertura di un modulo basato sul modello di modulo o passa a un'altra visualizzazione nel modulo. Ad esempio quando un utente passa a una visualizzazione specifica, è possibile creare un messaggio di posta elettronica che contiene dati dai campi nell'origine dati principale del modulo.

Dal menu Strumenti fare clic su programmazione e quindi fare clic Su Cambia visualizzazione evento.

OnValidate

Viene eseguito quando un utente cambia il valore in un controllo associato a un campo. Ad esempio, quando l'utente modifica il valore in un controllo specifico, è possibile calcolare un nuovo valore per un altro controllo utilizzando il numero specificato dall'utente e un numero che nello script. Quando si esegue il gestore eventi OnBeforeChange , si verifica questo evento.

Pulsante destro del mouse un controllo in un campo nel riquadro attività Origine dati o il modello di modulo, scegliere programmazione dal menu di scelta rapida e quindi fare clic Su dopo convalidare evento.

OnVersionUpgrade

Viene eseguito quando un utente apre una maschera esistente e il numero di versione del modello di modulo utilizzato in base a maschera esistente è meno il numero di versione del modello di modulo nel percorso di pubblicazione. Quando si apre una maschera esistente, InfoPath controlla il numero di versione del modello di modulo associato al modulo esistente. Se il modello di modulo contiene un numero di versione più recente, viene eseguito il gestore eventi OnVersion quando l'utente apre il modulo esistente. Si supponga ad esempio, aggiungere un nuovo campo in un modello di modulo esistente e pubblicarlo che si desidera che il nuovo campo da aggiungere all'origine dati principale se un utente apre una maschera esistente. Questo evento aggiunge il nuovo campo all'origine dati principale quando si apre una maschera esistente.

Dal menu Strumenti fare clic su Opzioni modulo. Nell'elenco categoria fare clic su controllo delle versioni. Nell'elenco nella versione aggiornata, fare clic su Utilizza evento personalizzato e quindi fare clic su Modifica.

Torna all'inizio

Considerazioni sulla compatibilità

È possibile aggiungere script a un modello di modulo compatibile con browser. È possibile aggiungere script solo a un modello di modulo verranno compilati cui moduli in InfoPath. È possibile personalizzare un modello di modulo compatibile con browser solo tramite codice gestito.

Torna all'inizio

Impostare il linguaggio di script per un modello di modulo

Per personalizzare un modello di modulo mediante gli script, è possibile utilizzare Microsoft JScript o Microsoft Visual Basic, Scripting Edition (VBScript). Per impostazione predefinita, InfoPath è configurato per aggiungere script utilizzando JScript. Il modello di modulo non contiene script o codice gestito, se si preferisce utilizzare il linguaggio di script VBScript, è possibile modificare il linguaggio di script per il modello di modulo in VBScript. Non è possibile utilizzare entrambe le lingue scripting nello stesso modello di modulo.

Se il modello di modulo contiene già script in una lingua e si desidera utilizzare l'altra lingua, è necessario salvare lo script esistente, in modo che è possibile convertire lo script in tali lingue, rimuovere lo script dal modello di modulo mediante le Opzioni modulo finestra di dialogo casella e quindi aggiungere lo script convertito al modello di modulo. InfoPath non è possibile convertire gli script in un nuovo linguaggio di script. Modifica della lingua di script nella finestra di dialogo Opzioni modulo influisce solo su questo modello di modulo. Altri modelli di modulo avrà JScript come il linguaggio di script predefinito.

  1. Dal menu Strumenti fare clic su Opzioni modulo.

  2. Nell'elenco categoria, nella finestra di dialogo Opzioni modulo, fare clic su programmazione.

  3. Nell'elenco linguaggio codice modello di modulo in linguaggio di programmazione, fare clic su VBScript.

    Note: 

    • Dopo aver impostato il linguaggio di script e creare uno o più gestori di eventi per un modello di modulo, non è possibile modificare il linguaggio di script per il modello di modulo.

    • Se è stato installato Microsoft Visual Studio 2005 Tools per le applicazioni, la lingua predefinita è Microsoft Visual Basic .NET. È comunque possibile utilizzare questa procedura per impostare il linguaggio di script VBScript.

Torna all'inizio

Visualizzare un messaggio ogni volta che si verifica un evento

Se si vuole conoscere gestori eventi da eseguire in risposta a un'azione o un altro evento, è possibile aggiungere codice temporaneo per visualizzare una finestra di messaggio ogni volta che viene eseguito il gestore eventi. Utilizzare questo codice solo per stabilire quando viene eseguito un gestore eventi. Dopo aver aggiunto il codice, è possibile usare anteprima per visualizzare un modulo basato sul modello di modulo o pubblicare il modello di modulo e quindi si crea un nuovo modello di modulo. Alcuni gestori eseguite solo se si crea un modulo dopo la pubblicazione del modello di modulo. È quindi possibile eseguire un'azione che potrebbe eseguire il gestore eventi. Quando viene eseguito il gestore eventi, viene visualizzata una finestra di messaggio.

Dopo che è determinare quali azioni o eventi eseguono il gestore eventi, rimuovere il codice e quindi riprendere la progettazione del modello di modulo. Se non viene rimosso questo codice e quindi si pubblica il modello di modulo, gli utenti vedranno questa finestra di messaggio quando viene eseguito il gestore eventi.

  1. Aggiungere il gestore eventi.

  2. Per aggiungere codice in JScript, digitare XDocument.UI.Alert ("The evento evento name appena eseguita"); Sostituire con il nome del gestore eventi. Ad esempio, se si aggiunge il codice per il gestore eventi OnValidate , sarà necessario immettere XDocument.UI.Alert ("The OnValidate gestore eventi appena eseguita");

  3. Per aggiungere codice in VBScript, digitare XDocument.UI.Alert ("The evento evento name appena eseguita") , ad esempio, se si aggiunge il codice al gestore eventi OnSaveRequest , sarà necessario immettere XDocument.UI.Alert ("The OnSaveRequest gestore eventi appena eseguita")

  4. Per testare il codice, fare clic su Anteprima dal menu File o premere CTRL + MAIUSC + B e quindi eseguire un'azione dell'utente che è possibile avviare l'evento. Quando si verifica l'evento con la riga di codice, una finestra di messaggio deve essere visualizzato il messaggio.

    Nota: Alcuni eventi potrebbero essere necessario pubblicare il modello di modulo e quindi creare una maschera basata sul modello di modulo prima di poter eseguire un'azione dell'utente per avviare l'evento.

  5. Prima di pubblicare il modello di modulo e consentire agli utenti di compilare i moduli basati sul modello di modulo, eliminare il codice che consente di visualizzare la finestra di messaggio.

Torna all'inizio

Aggiunta di uno script che viene eseguita quando si salva i dati del modulo

  1. Dal menu Strumenti fare clic su Opzioni modulo.

  2. Nell'elenco categoria, nella finestra di dialogo Opzioni modulo, fare clic su Apri e Salva.

  3. In salvataggio, selezionare la casella di controllo Salva con codice personalizzato e quindi fare clic su Modifica. Microsoft Script Editor verrà avviato con il cursore sul gestore eventi 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. Eseguire una o entrambe le operazioni seguenti:

    • Per aggiungere uno script che viene eseguita prima salvataggio del modulo, sostituire il commento Write the code to be run before saving here.con il codice.

    • Per aggiungere uno script da eseguire dopo il salvataggio del modulo, sostituire il commento Write the code to be run after saving here. con il codice.

  5. Per verificare le modifiche, fare clic su Anteprima nella barra degli strumenti Standard oppure premere CTRL+MAIUSC+B.

    Nota: Se il gestore eventi viene eseguita solo dopo aver creato un modulo basato sul modello di modulo, pubblicare il modello di modulo, fare clic su pubblica nel menu File e quindi completare la pubblicazione guidata. Dopo la pubblicazione del modello di modulo, creare una maschera e quindi eseguire un'azione per avviare il gestore eventi.

Torna all'inizio

Aggiunta di uno script che viene eseguita quando si inviano i dati del modulo

  1. Dal menu Strumenti fare clic su Opzioni invio.

  2. Nella finestra di dialogo Opzioni invio, selezionare la casella di controllo Consenti agli utenti di inviare il modulo.

  3. Fare clic su Esegui azione personalizzata tramite codice e quindi fare clic su Modifica codice. Microsoft Script Editor verrà avviato con il cursore sul gestore eventi 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. Sostituire il commento If the submit operation is successful, set eventObj.ReturnStatus = true Write your code here con il codice.

  5. Per verificare le modifiche, fare clic su Anteprima nella barra degli strumenti Standard oppure premere CTRL+MAIUSC+B.

Torna all'inizio

Aggiunta di uno script che viene eseguita quando un utente fa clic su un pulsante

  1. Aggiungere un nuovo pulsante a una visualizzazione nel modello di modulo e quindi fare doppio clic sul pulsante.

    Nota: Se si sta aggiungendo script a un pulsante esistente, fare doppio clic sul pulsante esistente invece.

  2. Fare clic sulla scheda Generale.

  3. Fare clic su Modifica codice modulo. Microsoft Script Editor inizia con il cursore sul gestore eventi OnClick per tale pulsante.

    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. Sostituire il commento Write your code here con il codice.

  5. Per verificare le modifiche, fare clic su Anteprima nella barra degli strumenti Standard oppure premere CTRL+MAIUSC+B.

Torna all'inizio

Aggiunta di uno script che viene eseguita quando vengono uniti moduli esistenti

  1. Dal menu Strumenti fare clic su Opzioni modulo.

  2. Nell'elenco categoria, nella finestra di dialogo Opzioni modulo, fare clic su Avanzate.

  3. In unire moduli, selezionare la casella di controllo Consenti unione moduli.

  4. Selezionare la casella di controllo Unisci con codice personalizzato e quindi fare clic su Modifica. Microsoft Script Editor inizia con il cursore sul gestore eventi 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. Sostituire il commento Write the code that handles each form being merged here. con il codice.

  6. Per testare il codice in questo caso, pubblicare il modello di modulo, creare diversi moduli basati sul modello di modulo e quindi unire i modelli di modulo.

    Nota: Sono disponibili collegamenti a ulteriori informazioni sulla pubblicazione del modello di modulo nella sezione Vedere anche.

Torna all'inizio

Aggiunta di uno script per aggiornare i moduli esistenti

Se è stato aggiornato un modello di modulo pubblicato in precedenza e si desidera aggiornare i moduli esistenti basati sul modello di modulo, è possibile aggiungere script al modello di modulo aggiornato che viene eseguita all'apertura di uno dei moduli esistenti. Quando si apre una maschera esistente, InfoPath controlla il numero di versione del modello associato nella posizione di pubblicazione. Se il numero di versione del modello di modulo nella posizione di pubblicazione più recente del numero di versione nel modulo esistente, che indica che è stato aggiornato, viene eseguito il codice in questo evento per aggiornare il modulo esistente.

  1. Dal menu Strumenti fare clic su Opzioni modulo.

  2. Nell'elenco categoria, nella finestra di dialogo Opzioni modulo, fare clic su controllo delle versioni.

  3. Nell'elenco nella versione aggiornata, fare clic su Utilizza evento personalizzato e quindi fare clic su Modifica. Microsoft Script Editor inizia con il cursore sul gestore eventi 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. Sostituire il commento Write your code here con il codice.

  5. Per verificare il codice in questo caso, pubblicare il modello di modulo, creare diversi moduli basati su questo modello di modulo, modificare e pubblicare una versione aggiornata del modello di modulo e quindi aprire una maschera esistente in base alla versione precedente di questo modello di modulo.

    Nota: Sono disponibili collegamenti a ulteriori informazioni sulla pubblicazione del modello di modulo nella sezione Vedere anche.

Torna all'inizio

Aggiunta di uno script per altri eventi

Questa procedura può essere utilizzata per aggiungere i seguenti gestori al modello di modulo:

  • OnAfterChange

  • OnBeforeChange

  • OnContextChange

  • OnLoad

  • OnSwitchView

  • OnSign

  • OnValidate

  • Dal menu Strumenti scegliere programmazione e quindi fare clic sull'evento da aggiungere al gestore eventi. Microsoft Script Editor verrà avviato con il cursore sul gestore eventi che è stata selezionata.

  • Sostituire il commento Write your code here con il codice.

Torna all'inizio

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×