Lab 16: External Automation in InfoPath 2003
Microsoft Corporation
April 2004
Applies to:
Microsoft® Office InfoPath™ 2003
Summary: Learn how to write scripts that automatically open, update, and save forms without user interaction. (3 printed pages)
Download the odc_INF03_Labs.exe sample file.
Contents
Prerequisites
Scenario
Lab Objective
Conclusion
Prerequisites
- A familiarity with Microsoft® JScript®
Scenario
In order to save money and improve efficiency, some processes at Contoso Corporation require the ability to modify a Microsoft® Office InfoPath™ 2003 form without user interaction. The information technology (IT) department at Contoso must write scripts that automate these changes.
Lab Objective
- In this lab, learn how to modify a form using external automation.
Exercises
Exercise 1: Update Data in an Existing Form
A customer recently changed its name from "Company A" to "Company B." The IT department must write scripts that automatically update the sales report form to reflect this name change.
To update data in an existing form
Copy the training files (Form1.xml and Lab16Template.xsn) to c:\Lab16 folder.
Create a new file in the folder named update.js, which contains the following code
//Start the application var oApp = new ActiveXObject("InfoPath.Application"); WScript.Echo("InfoPath Version: " + oApp.Version); //Open an InfoPath document var oXDocumentCollection = oApp.XDocuments; var oXDocument = oXDocumentCollection.Open("file:///C:/lab16/Form1.xml"); // Get a pointer to the "Notes" field var oXMLDocument = oXDocument.DOM; oXMLDocument.setProperty("SelectionNamespaces","xmlns:my=' https://schemas.microsoft.com/office/infopath/2003/myXSD/ 2004-01-19T21:16:49'"); var oNames = oXMLDocument.selectNodes("//my:customerName[. = 'Company A']"); //Update the names var oName = oNames.nextNode(); while (oName != null) { oName.text = "Company B"; oName = oNames.nextNode(); } //Save the doc and exit the application oXDocument.SaveAs("file:///C:/lab16/Form2.xml"); oXDocumentCollection.Close(0); oXDocument = null; oXDocumentCollection = null; oApp.Quit(); oApp = null;
Save the file.
Open a command prompt, and then browse to c:\lab16\.
At the command prompt, type cscript update.js to run the script contained in the update.js file.
Form2.xml is created, and contains the new company name, Company B.
Conclusion
After completing this lab, you should know how to write script that automatically opens, updates, and saves forms without user interaction.
For information on how to write managed code (C# or Visual Basic .NET) to work with InfoPath forms using external automation, download and install the InfoPath 2003 Toolkit for Visual Studio .NET and then refer to the topics in the "Automating InfoPath from Other Applications" book of the documentation table of contents.