Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Microsoft Office InfoPath 2007 supporta tre tipi di modelli di programmazione per lo sviluppo della regola business nei modelli di modulo e consente inoltre l'automazione esterna dal codice gestito.
Microsoft Office Forms Server 2007 e la stessa funzionalità per i moduli denominata InfoPath Forms Services disponibile in Microsoft Office SharePoint Server 2007 offrono un modello a oggetti per l'automazione delle attività server.
Office InfoPath 2007 supporta tre ambienti di sviluppo e diversi linguaggi di programmazione, che verranno descritti più avanti in questo argomento. L'ambiente di sviluppo utilizzato dipende in parte dal modello di programmazione necessario.
Modelli di programmazione di InfoPath
Office InfoPath 2007 supporta tre modelli a oggetti per lo sviluppo della regola business nei modelli di modulo:
Modello a oggetti basato su COM e script
Modello a oggetti con codice gestito compatibile con InfoPath 2003
Nuovo modello a oggetti con codice gestito di InfoPath
Office InfoPath 2007, inoltre, offre una modalità di scrittura del codice gestito che consente di automatizzare InfoPath da un'applicazione esterna.
In Microsoft Office Forms Server 2007 e InfoPath Forms Services è disponibile un modello a oggetti per l'automazione delle attività server, ad esempio la verifica e il caricamento di modelli di modulo dal codice in esecuzione nel server, per cui sono necessari accesso e autorizzazioni di amministratore server.
Modello a oggetti basato su COM e script
Il modello a oggetti basato su COM e script viene implementato nei file DLL (con estensione dll) seguenti, inclusi nella cartella C:\Programmi\Microsoft Office\Office12:
| DLL | Descrizione |
|---|---|
IPEDITOR.DLL |
Implementa il modello a oggetti basato su COM per l'esecuzione di modifiche nei moduli di InfoPath. Espone oggetti e membri che è possibile chiamare dalla regola business scritta in JScript o VBScript. Espone inoltre i metodi dell'oggetto Application e dell'insieme XDocuments che è possibile chiamare da componenti e applicazioni COM per automatizzare l'applicazione InfoPath. |
IPDESIGN.DLL |
Implementa interfacce basate su COM per la creazione di convertitori di moduli personalizzati e gli oggetti ExcelImporter e WordImporter per la creazione di nuovi modelli di modulo di InfoPath tramite l'importazione della struttura dei moduli in Excel e Word. |
Nota: |
|---|
Benché la creazione di regole business con linguaggi di script (JScript e VBScript) utilizzando il modello a oggetti basato su COM e script è tuttora supporta dal client InfoPath, le regole business scritte in codice di script non sono supportate per i modelli di modulo abilitati per i browser distribuiti in Office Forms Server 2007 o Microsoft Office SharePoint Server 2007 con InfoPath Forms Services. I modelli di modulo abilitati per i browser devono utilizzare il nuovo modello a oggetti con codice gestito di InfoPath per regole business personalizzate. |
Per ulteriori informazioni sull'utilizzo dell'automazione basata su COM e script, vedere la Guida di riferimento per sviluppatori di InfoPath, disponibile scegliendo Guida di Microsoft Office InfoPath dal menu ? in Office InfoPath 2007.
Modello a oggetti con codice gestito compatibile con InfoPath 2003
Il modello a oggetti con codice gestito compatibile con InfoPath 2003 è stato introdotto per la prima volta in InfoPath 2003 Service Pack 1 insieme a Microsoft Office InfoPath 2003 Toolkit per Visual Studio .NET per consentire la scrittura di regole business in modelli di modulo con codice gestito. Questo modello a oggetti è ancora supportato in Office InfoPath 2007 per garantire la compatibilità con InfoPath 2003.
Le classi e i membri del modello a oggetti vengono esposti tramite lo spazio dei nomi Microsoft.Office.Interop.InfoPath.SemiTrust. Questo modello a oggetti viene implementato nel file assembly seguente, incluso nella cartella C:\Programmi\Microsoft Office\Office12:
| Assembly | Descrizione |
|---|---|
Microsoft.Office.Interop.InfoPath.SemiTrust.dll |
Offre interoperabilità COM basata sul modello a oggetti COM di InfoPath per la scrittura di regole business per i modelli di modulo tramite C# o Visual Basic .NET. |
Nota: |
|---|
Benché la creazione di regole business mediante il modello a oggetti con codice gestito e interoperabilità COM implementato tramite l'assembly Microsoft.Office.Interop.InfoPath.SemiTrust sia ancora supportato in Office InfoPath 2007, le regole business scritte utilizzando questo modello a oggetti non sono supportate per i modelli di modulo abilitati per i browser distribuiti in Office Forms Server 2007 o Microsoft Office SharePoint Server 2007 con InfoPath Forms Services. I modelli di modulo abilitati per i browser devono utilizzare il nuovo modello a oggetti con codice gestito di InfoPath per le regole business personalizzate. |
Nota: |
|---|
Quando si crea un progetto modello di modulo compatibile con InfoPath 2003, impostando l'opzione Linguaggio codice modello di modulo su C# (InfoPath 2003 Compatible) o Visual Basic (InfoPath 2003 Compatible) nella categoria Programmazione nella finestra di dialogo Opzioni modulo, per impostazione predefinita tutte le chiamate vengono effettuate a membri dello spazio dei nomi Microsoft.Office.Interop.InfoPath.SemiTrust compatibili con le versioni precedenti. Se, tuttavia, la compatibilità con le versioni precedenti non è più necessaria, è possibile utilizzare nuovi membri del modello a oggetti contenuti nello spazio dei nomi Microsoft.Office.Interop.InfoPath.SemiTrust. Per ulteriori informazioni, vedere Procedura: Utilizzare membri di Microsoft.Office.Interop.InfoPath.SemiTrust non compatibili con InfoPath 2003. |
Nuovo modello a oggetti con codice gestito di InfoPath
Un nuovo modello a oggetti con codice gestito di InfoPath viene implementato in due assembly, entrambi denominati Microsoft.Office.Infopath.dll.
Una versione dell'assembly implementa un sottoinsieme del modello a oggetti di InfoPath contenente solo i tipi e i membri supportati nella regola business dei modelli di modulo distribuiti come modelli di modulo abilitati per i browser in esecuzione in Office Forms Server 2007 o Microsoft Office SharePoint Server 2007 con InfoPath Forms Services. I modelli di modulo la cui regola business è stata scritta in base a questo assembly possono essere aperti ed eseguiti in InfoPath e in un browser.
L'altra versione dell'assembly implementa l'intero modello a oggetti di InfoPath, contenente altri tipi e membri che offrono funzionalità non supportate nella regola business dei modelli di modulo abilitati per i browser. I modelli di modulo la cui regola business è stata scritta in base a classi e membri di questo assembly specifici di InfoPath possono essere aperti ed eseguiti solo in InfoPath.
Nota: |
|---|
È possibile scrivere logica condizionale che utilizza le proprietà della classe Environment per determinare l'ambiente, ovvero InfoPath o un browser, in cui viene eseguito il modello di modulo. Tramite tale logica condizionale, la regola business può alternare codice utilizzabile in un browser e codice scritto in base a classi e membri utilizzabili solo in InfoPath. Per ulteriori informazioni, vedere Procedura: Scrivere la logica condizionale che determina l'ambiente di run-time |
L'assembly utilizzato da InfoPath durante l'aggiunta e la compilazione della regola business per il modello di modulo dipende dalla selezione o meno della casella di controllo Attiva solo caratteristiche compatibili con browser nella finestra di dialogo Progetta modulo quando si inizia la progettazione di un nuovo modulo. In alternativa, è possibile modificare questa impostazione nella categoria Compatibilità, selezionando o deselezionando la casella di controllo Progetta modello di modulo da aprire in un browser o in InfoPath nella finestra di dialogo Opzioni modulo.
Le classi e i membri di entrambe le versioni di questo modello a oggetti vengono esposti tramite lo spazio dei nomi Microsoft.Office.InfoPath. Tali assembly sono disponibili nelle directory di installazione di Office InfoPath 2007 seguenti:
| Assembly | Descrizione |
|---|---|
Microsoft.Office.InfoPath.dll (in C:\Programmi\Microsoft Office\Office12\InfoPathOM) |
Sottoinsieme del modello a oggetti contenente solo i tipi e i membri eseguiti nella regola business di un modello di modulo distribuito in un server in cui è in esecuzione InfoPath Forms Services (casella di controllo Attiva solo caratteristiche compatibili con browser o Progetta modello di modulo da aprire in un browser o in InfoPath selezionata). |
Microsoft.Office.InfoPath.dll (in C:\Programmi\Microsoft Office\Office12\) |
Modello a oggetti "completo", contenente i tipi e i membri che non possono essere eseguiti nella regola business di un modello di modulo distribuito in Office Forms Server 2007 (casella di controllo Attiva solo caratteristiche compatibili con browser o Progetta modello di modulo da aprire in un browser o in InfoPath deselezionata). |
Nota: |
|---|
Gli assembly descritti in precedenza vengono utilizzati in fase di progettazione durante la scrittura e la compilazione del codice. In fase di esecuzione, l'assembly utilizzato quando viene aperto un modello di modulo in InfoPath è memorizzato nella cache di assembly locale del computer in cui è installato InfoPath. Quando un modello di modulo viene aperto in un browser da un server in cui è in esecuzione InfoPath Forms Services, l'assembly utilizzato si trova nel server. |
La disponibilità di due assembly garantisce che la regola business contenga solo le chiamate ai membri del modello a oggetti appropriati per gli editor di moduli supportati (browser o InfoPath). Quando, ad esempio, si modifica il codice, le funzionalità di IntelliSense, quali il completamento delle istruzioni e la documentazione inline, vengono visualizzate e utilizzate in base ai membri del modello a oggetti appropriati per l'editor o gli editor di destinazione in uso.
In entrambe le versioni del nuovo modello a oggetti con codice gestito esposto dall'assembly Microsoft.Office.InfoPath per l'esplorazione e l'aggiornamento degli archivi dati XML nella regola business sono necessarie chiamate ai membri della classe System.Xml.XPath.XPathNavigator. In InfoPath 2003, per l'esplorazione e l'aggiornamento degli archivi dati XML è necessario chiamare membri delle classi MSXML 5.0 (per una regola business creata con JScript o VBScript) oppure chiamare tramite i wrapper classi MSXML 5.0 implementate dallo spazio dei nomi Microsoft.Office.Interop.InfoPath.SemiTrust (per una regola business creata con C# o Visual Basic e Microsoft Office InfoPath 2003 Toolkit per Visual Studio .NET).
L'utilizzo dei membri della classe XPathNavigator consente allo stesso codice della regola business di supportare la manipolazione per i modelli di modulo aperti nel client InfoPath e per i moduli abilitati per i browser aperti da Office Forms Server 2007 o Microsoft Office SharePoint Server 2007 con InfoPath Forms Services in un browser.
Per informazioni sull'utilizzo dei membri della classe XPathNavigator nella regola business dei modelli di modulo con codice gestito di InfoPath, vedere Procedura: Utilizzare le classi XPathNavigator e XPathNodeIterator.
Automazione di InfoPath dal codice gestito
Oltre a scrivere regole business con codice gestito, è possibile automatizzare InfoPath utilizzando il codice gestito in esecuzione in un'applicazione esterna. Questa funzionalità e gli assembly necessari per la scrittura del codice sono stati introdotti per la prima volta in InfoPath 2003 Service Pack 1. Gli oggetti e i membri per l'automazione di InfoPath sono stati aggiornati per offrire ulteriori funzionalità per la scrittura di codice di automazione esterna per Office InfoPath 2007.
Le classi e i membri utilizzati per l'automazione esterna vengono esposti tramite gli spazi dei nomi Microsoft.Office.Interop.InfoPath e Microsoft.Office.Interop.InfoPath.Xml. I file assembly necessari per la scrittura di codice di automazione si trovano nella cartella C:\Programmi\Microsoft Office\Office12:
| Assembly | Descrizione |
|---|---|
Microsoft.Office.Interop.InfoPath.dll |
Offre interoperabilità COM in base al modello a oggetti COM di InfoPath per la scrittura di codice di automazione esterna tramite C# o Visual Basic .NET. |
Microsoft.Office.Interop.InfoPath.Xml.dll |
Offre interoperabilità COM in base a MSXML 5.0 per operazioni DOM XML nel codice di automazione esterna scritto tramite C# o Visual Basic .NET. |
Per informazioni sui modelli a oggetti degli spazi dei nomi Microsoft.Office.Interop.InfoPath e Microsoft.Office.Interop.InfoPath.Xml, utilizzati esclusivamente per automatizzare l'applicazione InfoPath tramite il codice gestito di applicazioni esterne, vedere "Automazione di InfoPath da altre applicazioni" nella documentazione installata con Microsoft Visual Studio Tools per Microsoft Office System 2007.
Modello a oggetti Office Forms Services
Il modello a oggetti con codice gestito per l'automazione delle attività amministrative di Office Forms Server 2007 o InfoPath Forms Services viene implementato in Microsoft.Office.InfoPath.Server.dll, incluso in <unità>:\Programmi\Microsoft Office Server\12.0\Bin in un'installazione di Office Forms Server 2007 o Microsoft Office SharePoint Server 2007:
| Assembly | Descrizione |
|---|---|
Microsoft.Office.InfoPath.Server.dll |
Modello a oggetti per l'automazione delle attività di Office Forms Server, ad esempio il caricamento, l'attivazione o la disattivazione dei modelli di modulo abilitati per i browser. |
Per ulteriori informazioni sul modello a oggetti di Office Forms Services, vedere Microsoft Office Forms Server 2007 Software Developers Kit (SDK) disponibile su MSDN.
Ambienti di sviluppo di InfoPath
Lo sviluppo di una regola business nei modelli di modulo di Office InfoPath 2007 può essere eseguito tramite uno degli ambienti di sviluppo seguenti:
Microsoft Script Editor
Microsoft Visual Studio Tools for Applications (VSTA)
Integrazione della modalità progettazione di InfoPath tramite Microsoft Visual Studio Tools per Microsoft Office System 2007 o Visual Studio 2008 con Visual Studio Tools per Office
L'ambiente di sviluppo utilizzato dipende in parte dal linguaggio di programmazione e dal modello a oggetti in base a cui è scritta la regola business. Nelle sezioni seguenti sono incluse informazioni che consentono di determinare l'ambiente di sviluppo da utilizzare.
Microsoft Script Editor (MSE)
Come in InfoPath 2003, per creare regole business tramite codice JScript o VBScript in base al modello a oggetti COM di InfoPath, è necessario utilizzare Microsoft Script Editor (MSE), installato e integrato con l'applicazione Office InfoPath 2007 per impostazione predefinita. Le funzionalità per questo ambiente di programmazione sono essenzialmente quelle disponibili in InfoPath 2003. Per sviluppare regole business utilizzando JScript o VBScript in MSE, aprire il modello di modulo in modalità progettazione. Aprire la finestra di dialogo Opzioni modulo, fare clic sulla categoria Programmazione e quindi impostare l'opzione Linguaggio di programmazione per il modello di modulo su JScript o VBScript.
Visual Studio Tools for Applications (VSTA)
Se nel computer sono installati Microsoft .NET Framework 2.0 e Microsoft Core XML Services (MSXML) 6.0, è possibile installare l'ambiente di programmazione Microsoft Visual Studio Tools for Applications (VSTA) insieme a Office InfoPath 2007. Se i componenti Microsoft .NET Framework 2.0 e MSXML6 non sono stati installati durante la prima installazione di InfoPath, è necessario scaricarli e installarli prima che sia possibile utilizzare l'ambiente di programmazioneVSTA. Microsoft .NET Framework 2.0 è disponibile come aggiornamento software facoltativo in Windows Update, mentre MSXML6 è disponibile nel sito Web MSDN.
L'ambiente di sviluppo VSTA non viene installato per impostazione predefinita quando si seleziona l'opzione Tipica per installare InfoPath. Per installare VSTA, è necessario selezionare Personalizza durante la prima installazione oppure utilizzare Installazione applicazioni per aggiornare l'installazione di Office o di InfoPath in modo da includere VSTA. L'opzione per installare VSTA è disponibile espandendo Microsoft Office InfoPath, Supporto programmabilità .NET e quindi Supporto programmabilità .NET per .NET Framework versione 2.0.
È possibile utilizzare l'ambiente di programmazione VSTA per scrivere regole business in C# o Visual Basic in base al modello a oggetti compatibile con InfoPath 2003 (membri dello spazio dei nomi Microsoft.Office.Interop.InfoPath.SemiTrust) o al nuovo modello a oggetti con codice gestito (membri dello spazio dei nomi Microsoft.Office.InfoPath).
Nota: |
|---|
Benché per l'installazione dell'ambiente Visual Studio Tools for Applications sia necessario MSXML6, i modelli di modulo e l'editor di InfoPath dipendono solo da MSXML5. |
Integrazione della modalità progettazione di InfoPath in Visual Studio
È disponibile una nuova funzionalità di Visual Studio Tools per Office che consente di integrare completamente l'ambiente di progettazione dei modelli di modulo di Office InfoPath 2007 nell'ambiente di sviluppo Visual Studio. È possibile utilizzare le funzionalità di Office InfoPath 2007 per progettare l'aspetto del modello di modulo contemporaneamente alla scrittura del codice gestito per estenderne le capacità senza uscire da Visual Studio.
Le funzionalità di progettazione dei moduli di InfoPath possono essere integrate in Visual Studio 2005 installando Microsoft Visual Studio Tools per Microsoft Office System 2007, che può essere scaricato dal Portale per sviluppatori di InfoPath in MSDN. Prima di installare Microsoft Visual Studio Tools per Microsoft Office System 2007, è necessario avere installato Visual Studio 2005 e Office InfoPath 2007. In alternativa, è possibile utilizzare Visual Studio 2008 con Visual Studio Tools per Office.
È possibile utilizzare questo ambiente di programmazione per scrivere regole business in C# o Visual Basic utilizzando il modello a oggetti basato sull'interoperabilità COM (membri dello spazio dei nomi Microsoft.Office.Interop.InfoPath.SemiTrust) o ifl nuovo modello a oggetti con codice gestito (membri dello spazio dei nomi Microsoft.Office.InfoPath).
Gestione, creazione e conversione di modelli di modulo che utilizzano il modello a oggetti di InfoPath 2003
L'integrazione di VSTA e della modalità progettazione di InfoPath nell'ambiente di sviluppo Visual Studio per Office InfoPath 2007 consente di aprire e continuare a utilizzare i progetti modello di modulo creati con Microsoft Office InfoPath 2003 Toolkit per Visual Studio .NET o con Visual Studio 2005 Tools per Microsoft Office System.
Nota: |
|---|
Nei computer degli utenti di modelli di modulo compilati con VSTA, Microsoft Visual Studio Tools per Microsoft Office System 2007 o Visual Studio 2008 con Visual Studio Tools per Office deve essere installato Microsoft .NET Framework 2.0, mentre gli utenti di modelli di modulo compilati con Visual Studio .NET 2003 devono disporre solo di Microsoft .NET Framework 1.1. |
È inoltre possibile utilizzare uno degli ambienti di sviluppo per creare nuovi progetti modello di modulo con codice gestito che utilizzano il modello a oggetti di InfoPath 2003 per mantenere la compatibilità con le versioni precedenti di InfoPath 2003. Per utilizzare tali ambienti di sviluppo e mantenere la compatibilità con le versioni precedenti, creare un nuovo modello di modulo, scegliere Opzioni modulo dal menu Strumenti e quindi impostare il linguaggio del codice del modello di modulo su C# (InfoPath 2003 Compatible) o Visual Basic (InfoPath 2003 Compatible) nella categoria Programmazione.
È inoltre possibile convertire un modello di modulo basato sul modello a oggetti di InfoPath 2003 per utilizzarlo con il nuovo modello a oggetti con codice gestito di InfoPath. Per informazioni sulla conversione dei modelli di modulo, vedere Procedura: Aprire o convertire un modello di modulo creato con InfoPath Toolkit o tramite script.
Vedere anche
Attività
Procedura dettagliata: Creazione di un modello di modulo con codice gestito di base
Procedura dettagliata: Creazione e debug di un modello di modulo di base utilizzando il modello a oggetti di InfoPath 2003
Nota: