Om programmering i InfoPath
Microsoft Office InfoPath 2003 gir utviklere et rikholdig miljø for tilpassing av skjemaer. Skjemaer kan tilpasses ved å skrive programmeringskode for å reagere på skjema- og datavalideringshendelser, få tilgang til og behandle et skjemas underliggende XML-dokument, implementere egendefinert datasending og -fletting og implementere tilgang til eksterne datakilder. Tilpassing kan også omfatte endring av skjemafiler slik at de passer til et bestemt formål.
Det er viktig å forstå noen av de viktigste begrepene knyttet til programmering av et InfoPath-skjema. Disse begrepene omfatter InfoPath-programmeringskomponenter, programmatisk og deklarativ programmering, InfoPath-programmeringsspråk og InfoPath-programmeringsmiljø.
InfoPath-programmeringskomponenter
Programmering i InfoPath omfatter tilpassing av et InfoPath-skjema ved å endre skjemafiler eller skrive skriptkode for å opprette egendefinerte funksjoner ved hjelp av InfoPath-objektmodellen. Hovedkomponentene i et InfoPath-skjema som kan omfatte programmatisk interaksjon, er beskrevet i tabellen nedenfor.
Komponent | Beskrivelse |
---|---|
Objektmodell | Et robust, hierarkisk typebibliotek som består av samlinger, objekter, egenskaper, metoder og hendelser som gir skjemautviklere programmatisk kontroll over ulike sider av redigeringsmiljøet i InfoPath og tilgang til et skjemas underliggende XML-dokument. |
Datavalidering | En kombinasjon av XML-skjemaer, uttrykk og skriptkoder som brukes til å validere og begrense dataene som brukerne kan skrive inn i et skjema. |
Hendelsesbehandling | Et sett med ulike typer hendelsesbehandling som reagerer på endringer i et skjemas underliggende XML-dokument, reagerer på bytte av visning, implementerer egendefinert datasending eller reagerer på innlasting av skjemaets underliggende XML-dokument. |
Brukergrensesnitt | Et sett med tilpassbare brukergrensesnittkomponenter, inkludert menyer, verktøylinjer, knapper, kommandolinjer og en oppgaverute. |
Redigeringskontroller | Et sett med InfoPath-spesifikke kontroller som brukes til å behandle og arbeide interaktivt med skjemaets underliggende XML-dokument. Kontrollene omfatter samlinger, valgfrie elementer, tekstlister og felt. |
Feilbehandling | En kombinasjon av ulike typer hendelsesbehandling, objektmodellkall og oppføringer i skjemadefinisjonsfilen (.xsf) som brukes til å behandle feil i et InfoPath-skjema. |
Sikkerhet | Et sett med sikkerhetsnivåer som begrenser tilgang til InfoPath-objektmodellen og systemressurser. |
Datasending | Et sett med forhåndsdefinerte funksjoner som kan brukes til å implementere egendefinert oppførings- og sendefunksjonalitet for et InfoPath-skjema. |
Forretningslogikk | Et sett med egendefinerte skriptfiler som inneholder programmeringskode som brukes til å implementere bestemt redigeringsfunksjonalitet, datavalidering, hendelsesbehandling og kontroll av dataflyt. Forretningslogikk kan også omfatte tilgang til eksterne COM-komponenter (Component Object Model). |
Skjemaintegrering | Integrering av andre Microsoft Office-programmer, for eksempel Microsoft Excel eller Microsoft Outlook. Integrering kan også omfatte bruk av bakservere, for eksempel Microsoft SQL Server, Microsoft Windows SharePoint Services eller XML-webtjenester. |
Programmatisk og deklarativ utvikling
Når du endrer InfoPath-skjemafiler, tilpasser du skjemaet deklarativt, det vil si at du åpner skjemafilene i et standard tekstredigeringsprogram og endrer elementer, attributter og verdier i filene manuelt. Når du endrer et skjema programmatisk, skriver du programmeringskode ved hjelp av et skriptspråk sammen med InfoPath-objektmodellen og, i noen tilfeller, COM-komponenter (Component Object Model) for å utvide og forbedre skjemafunksjonaliteten.
Nedenfor beskrives noen av måtene du kan tilpasse et skjema på deklarativt:
- Endre XML-skjemafilene (.xsd)
- Endre visningsfilene (.xsl) som er opprettet i utformingsmodus
- Endre skjemadefinisjonsfilen (.xsf)
- Endre XML-malfilen (.xml)
Nedenfor beskrives noen av måtene du kan tilpasse et skjema på programmatisk:
- Legge til logikk for behandling av skjemaets levetid
- Legge til egendefinert datavalidering
- Legge til egendefinert feilbehandling
- Implementere datasending
- Reagere på skjemafletting (eller import)
- Bruke egendefinerte oppgaveruter
- Bruke egendefinerte dialogbokser
- Få tilgang til og endre et skjemas underliggende XML-dokument
- Få tilgang til og endre skjemadefinisjonsfilen
- Bruke eksterne COM-komponenter
InfoPath-programmeringsspråk og programmeringsmiljøet
I likhet med andre Microsoft Office-programmer, har også InfoPath et programmeringsmiljø og programmeringsspråk som utviklere kan bruke til å automatisere og utvide Office-programmer. Men mens de fleste Office-programmer bruker Microsoft Visual Basic for Applications (VBA) som primært programmeringsspråk, bruker InfoPath to skriptspråk – Microsoft JScript og Microsoft VBScript. Dessuten bruker InfoPath Microsoft Script Editor (MSE), ikke Visual Basic Editor, som programmeringsmiljø ved skriving av programmeringskode.