Condividi tramite


Novità per gli sviluppatori di InfoPath

In Microsoft Office InfoPath 2007 sono stati aggiunti numerosi miglioramenti e funzionalità interessanti per gli sviluppatori. Tra tali miglioramenti, il più importante consiste nell'aggiunta di un nuovo modello a oggetti con codice gestito più efficace e maggiormente integrato in .NET Framework. Una regola business scritta in base a questo nuovo modello a oggetti funziona allo stesso modo per i modelli di modulo aperti in Office InfoPath 2007 e per quelli aperti in un browser.

In Office InfoPath 2007 è stato inoltre integrato un nuovo ambiente di sviluppo per l'utilizzo con regole business scritte in codice gestito, denominatoMicrosoft Visual Studio Tools for Applications (VSTA).

Microsoft Office Forms Server 2007 e la stessa funzionalità per moduli denominata InfoPath Forms Services disponibile in Microsoft Office SharePoint Server 2007 consentono di distribuire un modello di modulo di InfoPath in un server, affinché gli utenti che non dispongono di Office InfoPath 2007 possano aprire e completare i moduli di InfoPath tramite un browser.

L'utilizzo della regola business scritta nel nuovo modello a oggetti con codice gestito e delle funzionalità di controllo grafico in modalità progettazione di InfoPath consentono di creare un singolo modello di modulo da distribuire in Microsoft Office Forms Server 2007 o in una raccolta di documenti adeguatamente configurata in Office SharePoint Server 2007 con InfoPath Forms Services. Questo modello di modulo potrà essere eseguito sia in InfoPath, sia in un browser. La combinazione del client InfoPath e le funzionalità di InfoPath Forms Services che supportano questo approccio di progettazione e sviluppo viene denominata progettazione unica.

Nuovi miglioramenti e funzionalità

Nelle sezioni seguenti vengono descritti brevemente i nuovi miglioramenti e funzionalità di Office InfoPath 2007 di particolare interesse per gli sviluppatori di InfoPath:

  • Nuovo modello a oggetti con codice gestito e ambienti di sviluppo

  • Supporto per componenti aggiuntivi COM

  • Convertitori di modelli di modulo

  • Utilità di importazione dati personalizzate

  • Visualizzazione degli ID controllo nell'interfaccia utente in modalità progettazione

  • Supporto per raccolte connessioni dati

  • Eventi XML

  • Parti modello

  • Hosting dell'editor di InfoPath come controllo

Nuovo modello a oggetti con codice gestito e ambienti di sviluppo

In Office InfoPath 2007 è disponibile un nuovo modello a oggetti con codice gestito che include un insieme principale di funzionalità per la creazione della regola business nei modelli di modulo. Quando viene distribuita in Microsoft Office Forms Server 2007 o in una raccolta di documenti adeguatamente configurata in Office SharePoint Server 2007, la regola business creata utilizzando questo modello a oggetti può essere eseguita sia in un browser, sia in Office InfoPath 2007. È possibile, facoltativamente, scrivere una regola business che utilizzi un livello aggiuntivo di funzionalità disponibile tramite tale modello a oggetti e che potrà essere eseguita solo in modelli di modulo aperti per la modifica in Office InfoPath 2007.

Per scrivere una regola business da eseguire quando un modulo viene aperto sia in un browser, sia in Office InfoPath 2007, selezionare la casella di controllo Attiva solo caratteristiche compatibili con browser nella finestra di dialogo Progetta modello di modulo durante la creazione di un nuovo modello di modulo. Per scrivere una regola business che possa utilizzare funzionalità aggiuntive se aperta in Office InfoPath 2007, deselezionare Attiva solo caratteristiche compatibili con browser durante la creazione di un nuovo modello di modulo. È inoltre possibile modificare questa impostazione in seguito alla creazione di un modello di modulo facendo clic su Cambia impostazioni compatibilità nel riquadro attività Controllo grafico.

In Office InfoPath 2007 sono disponibili le due nuove opzioni seguenti, che consentono di sviluppare modelli di modulo contenenti una regola business scritta in codice gestito:

  • Ambiente di sviluppo Microsoft Visual Studio Tools for Applications (VSTA), integrato in InfoPath analogamente all'ambiente Visual Basic Editor utilizzato da altre applicazioni di Office. VSTA è un ambiente di sviluppo leggero basato sulle funzionalità di Visual Studio.

  • Integrazione della modalità progettazione di InfoPath in Visual Studio Tools per Office, che consente di progettare un modello di modulo e scrivere la regola business in codice gestito senza uscire dall'ambiente Visual Studio.

Per ulteriori informazioni sul nuovo modello a oggetti e gli ambienti di sviluppo, vedere Informazioni sui modelli a oggetti e sugli ambienti di sviluppo di InfoPath 2007.

Supporto per componenti aggiuntivi COM

Office InfoPath 2007 supporta la creazione e la registrazione di componenti aggiuntivi COM tramite un modello di sviluppo molto simile ad altre applicazioni di Office, ad esempio Word ed Excel. I componenti aggiuntivi COM di InfoPath supportano l'interfaccia IDTExtensibility2 per l'implementazione di metodi che fungono da gestori eventi per rispondere alle condizioni di avvio e chiusura di InfoPath. L'oggetto ApplicationEvents è stato aggiunto al modello a oggetti di InfoPath per garantire il supporto per eventi a livello di applicazione come gli eventi WindowActivate e XDocumentOpen, che consentono di creare gestori eventi nel componente aggiuntivo COM per eventi delle finestre dei moduli e dei documenti di InfoPath.

Per creare un componente aggiuntivo COM di InfoPath, è necessario implementare i cinque eventi dell'interfaccia IDTExtensibility2. Per ulteriori informazioni sull'interfaccia IDTExtensibility2, cercare "IDTExtensibility2" nel sito MSDN.

Dopo avere creato un componente aggiuntivo, è necessario registrarlo sotto la sottochiave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\InfoPath\AddIns\ del Registro di sistema e definire i valori FriendlyName, Description e LoadBehavior.

I componenti aggiuntivi COM di InfoPath possono essere caricati all'avvio dell'applicazione per impostazione predefinita oppure richiamati tramite la finestra di dialogo Componenti aggiuntivi COM. Per visualizzare la finestra di dialogo Componenti aggiuntivi COM, scegliere Componenti aggiuntivi COM dal menu Strumenti.

Convertitori di modelli di modulo

In InfoPath 2003 Service Pack 1 e versioni successive è disponibile un'infrastruttura che consente di creare un nuovo modello di modulo importando un modulo elettronico progettato di altro tipo. In Office InfoPath 2007 è disponibile pronto per l'uso un convertitore per la creazione di un nuovo modello di modulo di InfoPath basato sulla progettazione di un modulo creato in un documento di Microsoft Office Word o una cartella di lavoro di Microsoft Excel. Per avviare il processo di importazione di un modulo creato e progettato in Word o Excel, scegliere Importa modulo dal menu File per visualizzare l'Importazione guidata.

Questa infrastruttura è stata estesa in Office InfoPath 2007 per supportare anche la creazione e l'installazione di convertitori personalizzati per l'esportazione di un modello di modulo progettato in InfoPath in un modulo elettronico di altro tipo. Dopo avere installato un convertitore personalizzato per l'esportazione, l'utente può aprire un modello di modulo di InfoPath in modalità progettazione e quindi scegliere Esporta modello di modulo dal menu File per esportare il modulo progettato in un modulo elettronico di altro tipo.

Interfacce dei convertitori

Nei convertitori dei modelli di modulo vengono indicati i tipi di file supportati e tali tipi di file vengono elaborati per generare un modello di modulo di InfoPath con file di manifesto, con estensione xsf, file di visualizzazione, con estensione xsl, e altri tipi di file che costituiscono il file di un modello di modulo di InfoPath, con estensione xsn.

Un convertitore di modelli di modulo di InfoPath è un componente di automazione COM standard che implementa le interfacce IFormTemplateConverter e IFormTemplateConverter2. L'implementazione dell'interfaccia IFormTemplateConverter garantisce la compatibilità con Microsoft InfoPath 2003, mentre l'interfaccia IFormTemplateConverter2 offre funzionalità aggiuntive agli utenti di Office InfoPath 2007. Affinché venga esposto nella modalità progettazione di InfoPath, il convertitore deve inoltre rendere disponibili alcune informazioni di base su se stesso nel Registro di sistema, incluse le seguenti:

  • Nome visualizzato

  • Descrizione dettagliata

  • Elenco di estensioni di file supportate dal convertitore

La DLL IPDESIGN.DLL inclusa nella cartella C:\Programmi\Microsoft Office\Office12 rende disponibili le interfacce IFormTemplateConverter, IFormTemplateConverter2, IConversionManager e IConversionManager2 per la creazione di convertitori personalizzati di moduli.

Automazione di un convertitore

È possibile automatizzare i convertitori di modelli di modulo per semplificare l'importazione e l'esportazione di massa di più modelli di modulo. Per automatizzare un convertitore, è necessario utilizzare i metodi implementati dal convertitore. Nel frammento JScript seguente, ad esempio, viene illustrata l'automazione dell'utilità di importazione dei moduli di Microsoft Office Word per importare il file "sample.doc":

var oConverter = new ActiveXObject("InfoPath.DesignerWordImport.2");
var strSourcePath = "c:\\temp\\sample.doc";
var strDestPath = "c:\\temp\\sampleOutput\\"

oConverter.Initialize();
try
{
   oConverter.SetLcid(1033);
   var strMessage = oConverter.Import(strSourcePath, strDestPath, true);
}
catch(e)
{
   WScript.Echo("Error: " + e.message);
}

WScript.Echo("Result was: " + strMessage);

oConverter.UnInitialize();

Utilità di importazione dati personalizzate

In Office InfoPath 2007 è disponibile un'infrastruttura che consente di creare utilità di importazione personalizzate per l'importazione di dati da altri tipi di moduli e documenti elettronici, nonché da moduli e documenti cartacei digitalizzati tramite il software di riconoscimento ottico dei caratteri (OCR). Per visualizzare la finestra di dialogo Importa dati modulo, scegliere Compila modulo dal menu File, selezionare il modulo da compilare e quindi scegliere Importa dati modulo dal menu File.

La DLL IPEDITOR.DLL inclusa nella cartella C:\Programmi\Microsoft Office\Office12 rende disponibili le interfacce IInfoPathDataImporter, IInfoPathDataImporterFields, IInfoPathViewControl e IPropertyBag, che devono essere implementate per creare un'utilità di importazione personalizzata.

Visualizzazione degli ID controllo nell'interfaccia utente in modalità progettazione

È possibile determinare l'identificatore ViewContext per un controllo in un modulo di InfoPath in modalità progettazione visualizzando la finestra di dialogo Proprietà del controllo e quindi facendo clic sulla scheda Avanzate. Il valore ViewContext per il controllo corrente verrà visualizzato nella sezione Codice della scheda Avanzate.

Supporto per raccolte connessioni dati

Una raccolta connessioni dati è un elenco memorizzato in un server Office SharePoint Server 2007 o Office Forms Server 2007 contenente file di connessione dati. I file di connessione dati memorizzati in una raccolta connessioni dati può essere un file di connessione dati (OCD), utilizzato da Excel, oppure un file di collegamento dati universali V2 (UDC), utilizzato da Office InfoPath 2007. Ogni file UDC contiene impostazioni di connessione dati che possono essere utilizzate da un modello di modulo di InfoPath.

È possibile utilizzare un file UDC incluso in una raccolta connessioni dati per definire una connessione dati per un modello di modulo utente, ovvero un modello di modulo distribuito dall'utente che non contiene codice e altre funzionalità per cui è necessaria l'approvazione dell'amministratore. Prima che sia possibile utilizzare qualsiasi file UDC aggiunto a una raccolta connessioni dati, è necessaria l'approvazione di un amministratore della raccolta siti. È inoltre disponibile un archivio centrale di file UDC distinto controllato dall'amministratore della server farm che può essere utilizzato solo da modelli di modulo approvati dall'amministratore, ovvero modelli di modulo contenenti codice e altre funzionalità per cui è necessaria l'approvazione dell'amministratore.

Affinché un modello di modulo utente possa eseguire una connessione tra domini a un'origine dati, è necessario che si verifichino le due condizioni seguenti:

  1. L'amministratore della server farm deve prima attivare le connessioni dati tra domini per i modelli di modulo utente nell'intera server farm.

  2. Tutte le connessioni dati tra domini devono essere definite nella raccolta connessioni dati.

Per impostazione predefinita, per gli elementi inclusi nella raccolta connessioni dati è necessaria l'approvazione dell'amministratore del sito prima che possano essere utilizzati in InfoPath.

Quando si esegue la pubblicazione in un server Office SharePoint Server 2007 o Office Forms Server 2007, uno strumento di progettazione dei moduli può scegliere tra una o più connessioni specificate nei file UDC incluso in una raccolta connessioni dati nel server nella stessa raccolta siti. Per i moduli basati su server, è necessario che i file siano memorizzati nel server in cui verrà pubblicato il modulo. I file UDC possono contenere informazioni specifiche del server, ad esempio sull'autenticazione alternativa, o anche un collegamento a una connessione specifica del server.

Quando si progetta un modello di modulo e si crea una connessione dati a una connessione dati da una raccolta connessioni dati, in InfoPath viene aggiunto un collegamento al file UDC nel file di manifesto, con estensione xsf, del modello di modulo. Le impostazioni di connessione verranno recuperate dalla raccolta connessioni dati in fase di esecuzione. In questo modo, un amministratore del server potrà modificare le impostazioni di connessione in seguito alla distribuzione del modulo.

Specificare una connessione da una raccolta connessioni dati in un modello di modulo esistente

  1. Aprire il modello di modulo in modalità progettazione.

  2. Scegliere Connessioni dati dal menu Strumenti.

  3. Fare clic su Aggiungi per avviare la Connessione guidata dati, fare clic su Cerca connessioni in un server Microsoft Office SharePoint Server e quindi su Avanti.

Specificare una connessione da una raccolta connessioni dati durante la creazione di un nuovo modulo vuoto

  1. Scegliere Progetta modulo dal menu File.

  2. Nella finestra di dialogo Progetta modulo fare clic sull'icona Raccolta connessioni.

Specificare una connessione da una raccolta connessioni dati per un controllo Casella di riepilogo, Casella di riepilogo a discesa o Casella combinata

  1. Aprire il modello di modulo in modalità progettazione.

  2. Visualizzare la finestra di dialogo Proprietà per il controllo.

  3. Nella scheda Dati fare clic su Cerca valori in un'origine dati esterna e quindi su Aggiungi.

  4. Fare clic su Cerca connessioni in un server Microsoft Office SharePoint Server e quindi su Avanti.

Specificare una connessione dati da una raccolta connessioni dati durante la configurazione delle opzioni di invio di un modello di modulo

  1. Aprire il modello di modulo in modalità progettazione.

  2. Scegliere Opzioni invio dal menu Strumenti.

  3. Selezionare la casella di controllo Consenti agli utenti di inviare il modulo.

  4. Fare clic su Connessione da una raccolta connessioni dati nell'elenco a discesa.

  5. Fare clic su Aggiungi per avviare la Connessione guidata dati.

Specificare una connessione dati da una raccolta connessioni dati durante la configurazione di un modello di modulo da inviare a un server Web tramite HTTP POST

  1. Aprire il modello di modulo in modalità progettazione.

  2. Scegliere Opzioni invio dal menu Strumenti.

  3. Selezionare la casella di controllo Consenti agli utenti di inviare il modulo.

  4. Fare clic su Invia dati modulo a una destinazione sola e quindi selezionare Server Web (HTTP) nell'elenco a discesa.

  5. Fare clic su Modifica.

  6. Nella finestra di dialogo Invia a server Web fare clic su Connessione a Office Server e quindi su Connessione server.

Configurazione delle impostazioni di autenticazione della raccolta connessioni dati in Office SharePoint Server

Un amministratore del server può controllare le modalità di esecuzione di alcune caratteristiche di autenticazione per le connessioni specificate in una raccolta connessioni dati in Office SharePoint Server 2007 o Office Forms Server 2007. Nella tabella seguente sono elencate le impostazioni della raccolta connessioni dati che è possibile definire in Amministrazione centrale SharePoint 3.0 facendo clic su Configura InfoPath Forms Services nella pagina Gestione applicazioni.

Impostazione Descrizione

Richiedi SSL per l'autenticazione HTTP per le origini dati

È possibile che i moduli che si connettono a origini dati back-end, ad esempio servizi Web, debbano eseguire la connessione tramite l'autenticazione di base o digest, che richiede l'invio di una password in rete. Selezionare questa casella per richiedere una connessione crittografata con SSL per tali tipi di autenticazione. L'impostazione predefinita è True (casella selezionata).

Consenti autenticazione SQL incorporata

I moduli che si connettono a database di Microsoft SQL Server possono incorporare nome utente e password SQL Server nella stringa di connessione. La stringa di connessione può essere letta come testo non crittografato nel file UDC associato al modello di modulo oppure nel file manifest.xsf del modello di modulo. Deselezionare questa casella per bloccare i moduli tramite credenziali SQL incorporate. L'impostazione predefinita è False (casella non selezionata).

Consenti ai modelli di modulo utente l'utilizzo delle informazioni di autenticazione contenute nei file di connessione dati

I file di collegamento dati universali (UDC) possono contenere informazioni di autenticazione alternative, ad esempio un nome utente e una password espliciti, o un ID di applicazione Single Sign-On. Selezionare questa casella per consentire l'utilizzo di tali informazioni di autenticazione alternative dei file UDC da parte dei modelli di modulo utente. L'impostazione predefinita è False (casella non selezionata).

Consenti l'accesso a dati di altri domini da parte dei modelli di modulo utente che utilizzano le impostazioni di connessione di un file di connessione dati

In un file di connessione dati, i modelli di modulo utente possono contenere connessioni dati che consentono di accedere a dati di altri domini. Selezionare questa casella per consentire l'accesso ai dati di altri domini da parte dei modelli di modulo utente. L'impostazione predefinita è False (casella non selezionata).

Eventi XML

Quando gli utenti utilizzano un modello di modulo creato con Office InfoPath 2007 e distribuito in Office Forms Server 2007 o Office SharePoint Server 2007, in InfoPath i dati vengono memorizzati e modificati nella memoria utilizzando uno dei due metodi seguenti, a seconda della modalità di apertura del modello di modulo:

  • Se il modello di modulo viene aperto in InfoPath, viene utilizzato l'oggetto DOMDocument di Microsoft XML Core Services 5.0 (MSXML5).

  • Se il modello di modulo viene aperto in un browser, viene utilizzata la classe XmlDocument di Microsoft .NET Framework 2.0.

Tramite l'utilizzo dei metodi della classe XPathNavigator insieme alle classi e ai membri del nuovo modello a oggetti Microsoft.Office.InfoPath, gli sviluppatori di modelli di modulo possono scrivere funzioni e subroutine con codice gestito che accedono ai dati XML e li aggiornano in entrambi gli archivi. Gli eventi XML consentono agli sviluppatori di moduli di annullare, aggiungere regole di convalida e definire gli effetti collaterali per le operazioni nei nodi XML, ad esempio Insert, Delete e ValueChange, a livello di programmazione.

In Office InfoPath 2007 sono disponibili tre eventi XML di base quando si utilizza il nuovo modello a oggetti gestito: Changing, Validating e Changed.

Nota:

L'evento Changing è supportato solo nella regola business di un modello di modulo aperto con Office InfoPath 2007. L'evento Changing non è supportato nei modelli di modulo abilitati per i browser aperti in un browser.

Creare un gestore eventi per l'evento Changing, Validating o Changed di un controllo

  1. Aprire il modello di modulo in modalità progettazione.

  2. Fare clic con il pulsante destro del mouse sul controllo, scegliere Programmazione e quindi fare clic sull'evento che si desidera utilizzare.

Verrà avviato l'ambiente Microsoft Visual Studio Tools for Applications (VSTA), Visual Studio 2005 se quest'ultimo e Microsoft Visual Studio Tools per Microsoft Office System 2007 sono installati oppure Visual Studio 2008 con Visual Studio Tools per Office e verrà creata la bozza di un gestore eventi simile all'esempio seguente per l'evento Changed in C#:

public void field1_Changed(object sender, XmlEventArgs e)
{
   // Write code here to change data outside the Main Data Object
   // such as other Data Objects and member variables.
   if (e.UndoRedo)
   {
      // InfoPath will handle all undo and redo operations that change
      // the Main Data Object, so there is nothing left for custom code
      // to do.
      return;
   }
    // Write code here to change the Main Data Object.
}

Per ulteriori informazioni sulla creazione di gestori eventi, vedere Procedura: Aggiungere un gestore eventi. Per ulteriori informazioni sull'utilizzo del linguaggio XML tramite il nuovo modello a oggetti con codice gestito, vedere Procedura: Utilizzare le classi XPathNavigator e XPathNodeIterator.

Associazione di eventi tramite delegati

Quando si utilizza il nuovo modello a oggetti con codice gestito, in Office InfoPath 2007 gli eventi vengono associati ai gestori eventi tramite delegati. Benché InfoPath utilizzi i delegati per associare gli eventi, la funzionalità rappresenta un sottoinsieme del normale utilizzo del codice gestito. In particolare, i delegati vengono utilizzati in InfoPath per l'associazione di eventi statici. L'associazione può verificarsi solo nel metodo InternalStartup, eseguito durante il caricamento del modulo. Se i delegati per gli eventi di associazione vengono dichiarati in altri punti del codice, viene generata un'eccezione in fase di esecuzione.

Nell'esempio seguente viene illustrato il codice C# generato da InfoPath durante l'aggiunta di gestori eventi per l'evento Changed di field1 e l'evento Validating di field2. Il codice di associazione degli eventi per il gestore eventi viene aggiunto al metodo InternalStartup tramite i delegati XmlChangedEventHandler e XmlValidatingEventHandler.

using System;
using Microsoft.Office.InfoPath;

namespace Template1
{
   public partial class FormCode
   {
      public void InternalStartup()
      {
         EventManager.XmlEvents["/my:myFields/my:field1"].Changed += new XmlChangedEventHandler(field1_Changed);
         EventManager.XmlEvents["/my:myFields/my:field2"].Validating += new XmlValidatingEventHandler(field2_Validating);
      }

      public void field1_Changed(object sender, XmlEventArgs e)
      {
         // Code for Changed event goes here.
      }

      public void field2_Validating(object sender, XmlValidatingEventArgs e)
      {
         // Code for Validating event goes here.
      }
   }
}
Importante:

Il metodo InternalStartup e il relativo codice di associazione degli eventi interno vengono generati da InfoPath quando si aggiungono gestori eventi utilizzando diversi comandi dell'interfaccia utente. Evitare di creare il metodo InternalStartup o di aggiungere manualmente ulteriore codice interno al metodo. Per informazioni su come aggiungere gestori eventi, vedere Procedura: Aggiungere un gestore eventi.

Parti modello

Gli sviluppatori di moduli possono creare raccolte di parti di modulo, denominate parti modello, contenenti controlli, un layout, uno schema, regole e calcoli. È possibile distribuire le parti modello in un archivio condiviso oppure localmente in un insieme di computer per l'utilizzo da parte di un singolo sviluppatore o un gruppo di sviluppatori di moduli per la progettazione modulare di nuovi modelli di modulo. Se, ad esempio, si dispone di una serie di modelli di modulo contenenti la stessa sezione intestazione, è possibile utilizzare le parti modello per progettare una volta la sezione intestazione e quindi inserire tale sezione in ognuno dei modelli di modulo.

È inoltre possibile, in seguito, aggiornare la struttura della parte modello e salvarla di nuovo nell'archivio condiviso. Quando lo sviluppatore di moduli apre nuovamente un modello di modulo contenente la versione precedente della parte modello, l'utente riceve una notifica di InfoPath indicante che è disponibile una versione aggiornata del modello e può quindi aggiornare la parte.

Poiché alcune funzionalità di progettazione non possono essere utilizzate nelle parti modello, sono associate a una modalità progettazione distinta. Quando si salva una parte modello nell'archivio condiviso, la parte diventa disponibile nella sezione Controlli personalizzati del riquadro attività Controlli in modalità progettazione modello di modulo. Se si crea una parte modello e la si salva localmente, è necessario utilizzare il comando Aggiungi o rimuovi controlli personalizzati per aggiungere la parte modello al riquadro attività Controlli.

Creare una parte modello

  1. Scegliere Progetta modulo dal menu File.

  2. Nella finestra di dialogo Progetta modulo fare clic su Parte modello.

  3. In In base a fare clic sull'icona dell'origine dati su cui si desidera basare la parte modello e quindi fare clic su OK.

  4. Progettare una parte modello procedendo allo stesso modo che per qualsiasi altro modello di modulo, inserendo layout, controlli, regole e regole di convalida dei dati. È inoltre possibile aggiungere connessioni dati per consentire l'immissione automatica nei controlli Casella di riepilogo a discesa, Casella combinata o Casella di riepilogo.

  5. Per salvare la parte modello, scegliere Salva dal menu File. Il nome visualizzato della parte modello corrisponderà al nome del file in cui viene salvata la parte.

  6. Se si utilizza InfoPath e l'ambiente di sviluppo Microsoft Visual Studio Tools for Applications (VSTA), nel riquadro attività Controlli fare clic su Aggiungi o rimuovi controlli personalizzati, su Aggiungi e quindi individuare il file di parte modello di InfoPath, con estensione xtp, salvato.

    Se si utilizza Visual Studio con l'integrazione della modalità progettazione di InfoPath, fare clic con il pulsante destro del mouse nella Casella degli strumenti, scegliere Scegli elementi, fare clic su Aggiungi e quindi individuare il file di parte modello di InfoPath, con estensione xtp, salvato.

Utilizzare una parte modello

  1. Creare un nuovo modello di modulo e aprire il riquadro attività Controlli.

  2. Scorrere verso il basso fino ai controlli Personalizzati e quindi trascinare la parte modello nel modulo.

    Nota:

    Se si utilizza Visual Studio con l'integrazione della modalità progettazione di InfoPath, le parti modello vengono elencate alla fine della sezione InfoPath della Casella degli strumenti.

A questo punto è possibile utilizzare il modello di modulo e la parte modello in esso contenuta come durante la normale progettazione di un modulo senza una parte modello, modificando tutti i controlli e le regole associate. È inoltre possibile modificare la parte modello nel relativo file originale. In tal caso, laddove la parte modello è stata inserita in precedenza in altri modelli di modulo, verrà notificata la presenza di una nuova versione.

Nota:

Se le parti modello aggiornate vengono salvate nell'archivio condiviso, è necessario chiudere e riaprire il modello di modulo in cui è stata inserita una parte modello per ricevere la notifica indicante la disponibilità di una nuova versione. Se le parti modello aggiornate vengono salvate in una cartella locale, è necessario reinstallare la parte modello in tutti i computer che la condividono.

Hosting dell'editor di InfoPath come controllo

Le funzionalità di modifica dei moduli di InfoPath sono state suddivise in una serie di proprietà e metodi esposti tramite l'oggetto InfoPathEditorObject della DLL IPEDITOR.DLL. Tali proprietà e metodi consentono di ospitare un sottoinsieme di funzionalità di modifica di InfoPath da un'altra applicazione come controllo ActiveX o Windows Form.

Durante l'installazione di InfoPath viene anche installato l'assembly Microsoft.Office.InfoPath.FormControl.dll, incluso nella cartella C:\Programmi\Microsoft Office\Office12, che contiene il modello a oggetti COM dell'oggetto InfoPathEditorObject per l'utilizzo del controllo in Windows Form e in altre applicazioni .NET.

Nella tabella seguente sono inclusi i metodi e le proprietà implementati dall'oggetto InfoPathEditor:

Membri Descrizione

Metodo CloseDocument

Chiude il documento XML aperto.

Proprietà DataConnectionBaseURL

Ottiene o imposta l'URL utilizzato per le connessioni dati.

Metodo FlushDocument

Salva o scarica il documento caricato.

Proprietà Host

Ottiene o imposta l'oggetto utilizzato per accedere al modello a oggetti per l'applicazione host. Il valore predefinito è null.

Proprietà HostName

Ottiene o imposta il nome dell'applicazione host.

Metodo Load

Carica dal file system il documento XML specificato basato su un URL nel nome file. Il file XML specificato deve contenere le istruzioni di elaborazione (attributi href e name) che fanno riferimento al modello di modulo utilizzato per caricare e modificare il file XML.

Metodo LoadFromStream

Carica il documento XML specificato da un flusso (IStream).

Metodo NewFromSolution

Crea un nuovo documento modulo di InfoPath basato su un URL nel modello di modulo specificato.

Metodo NewFromSolutionWithData

Crea un nuovo documento modulo di InfoPath utilizzando i dati XML specificati come IStream e URL nel file di un modello di modulo. Quando si utilizza questo metodo, il file XML non deve includere le istruzioni di elaborazione che fanno riferimento al modello di modulo utilizzato per caricare e modificare il file.

Metodo SetInitEventHandler

Imposta la funzione nell'applicazione host utilizzata come funzione di richiamata per l'evento Initialize, che viene chiamato prima dell'evento OnLoad di InfoPath.

Metodo SetSubmitToHostEventHandler

Imposta la funzione nell'applicazione host utilizzata come funzione di richiamata durante il nuovo invio dei dati all'applicazione host. Per configurare la connessione dati per l'invio all'applicazione host, aprire il modello di modulo in modalità progettazione InfoPath, scegliere Opzioni invio dal menu Strumenti, selezionare la casella di controllo Consenti agli utente di inviare il modulo, selezionare Ambiente host nell'elenco a discesa e quindi fare clic su Aggiungi.

Proprietà XDocument

Ottiene un oggetto XDocument per l'utilizzo dei membri del modello a oggetti di InfoPath.

Nota:
Se si utilizza l'assembly Microsoft.Office.InfoPath.FormControl, questa proprietà è denominata XmlForm e ottiene un oggetto XmlForm per l'utilizzo dei membri del modello a oggetti di InfoPath.

Le barre degli strumenti e dei menu di InfoPath non vengono rese disponibili per l'utilizzo immediato dall'oggetto InfoPathEditor, ma tutti i comandi dei menu e dei riquadri attività dell'editor di InfoPath vengono esposti tramite l'interfaccia IOLECommandTarget. L'applicazione host può quindi eseguire tali comandi tramite l'interfaccia, in modo che uno sviluppatore, se lo desidera, possa replicare queste funzionalità completamente, parzialmente o non replicarle del tutto.

Per informazioni sull'utilizzo dei comandi di InfoPath tramite l'interfaccia IOLECommandTarget, vedere l'articolo "Hosting dell'ambiente di modifica dei moduli di InfoPath in un'applicazione Windows Form personalizzata", in cui è incluso un collegamento a un progetto di Visual Studio di esempio, nel Portale per sviluppatori di InfoPath in MSDN.

Aggiungere il controllo dell'editor di InfoPath in un'applicazione Windows Form

  1. Avviare Microsoft Visual Studio.

  2. Creare un nuovo progetto Applicazione Windows.

  3. Aggiungere il controllo modulo di InfoPath alla Casella degli strumenti come componente di .NET Framework (assembly Microsoft.Office.InfoPath.FormControl.dll in C:\Programmi\Microsoft Office\Office12)

  4. Trascinare il controllo FormControl nel form Windows.

  5. Aggiungere un controllo Pulsante al form Windows.

  6. Scrivere un gestore eventi Click per il controllo Pulsante per il caricamento del file XML di un modulo di InfoPath nel controllo FormControl, ad esempio formControl1.New(@"C:\hello.xml");)

  7. Generare ed eseguire l'applicazione.

L'esempio presuppone la presenza di un file XML di InfoPath denominato "hello.xml" in C:\hello.xml. Per utilizzare il metodo New dell'esempio, è necessario che il file XML contenga riferimenti alle istruzioni di elaborazione tramite gli attributi href e name che specificano un file di modello di modulo di InfoPath, con estensione xsn, nell'intestazione. In caso contrario, è possibile utilizzare il metodo NewFromFormTemplate(string, System.IO.Stream,Microsoft.Office.InfoPath.XmlFormOpenMode) per caricare il file XML da una classe System.IO.Stream oppure il metodo NewFromFormTemplate(string) se è disponibile un file con estensione xsn e un file XML strutturato in modo adeguato, ma tale file non include i riferimenti alle istruzioni di elaborazione che specificano il file con estensione xsn. Il metodo NewFromFormTemplate dell'oggetto FormControl corrisponde ai metodi NewFromSolution e LoadFromStream dell'oggetto InfoPathEditorObject.

Vedere anche

Altre risorse

Sviluppo di modelli di modulo con codice gestito di InfoPath
Sviluppo di modelli di modulo con codice gestito tramite il modello a oggetti di InfoPath 2003