Om programmeringsmiljøet
Microsoft Office InfoPath 2003 bruker Microsoft Script Editor (MSE) som sitt primære integrerte utviklingsmiljø. Microsoft JScript og Microsoft VBScript er programmeringsspråkene som brukes i MSE til å opprette egendefinert forretningslogikk for et skjema.
Når du arbeider med et skjema i utformingsmodus, kan du åpne MSE ved å peke på Script (Skript) på Tools-menyen (Verktøy) og klikke Microsoft Script Editor (Microsoft Skriptredigering) eller ved å trykke ALT+SKIFT+F11. Når du åpner MSE fra InfoPath, vises MSE-koderedigeringsprogrammet, og skjemaets standard skriptfil (med filtypen .js eller .vbs, avhengig av hvilket skriptspråk som er valgt for skjemaet) åpnes i koderedigeringsvinduet.
Arbeid med MSE i et InfoPath-skjema omfatter flere oppgaver, inkludert valg av skriptspråk, opprettelse av hendelsesbehandling og feilsøking i skriptkode.
InfoPath støtter bruk av JScript eller VBScript i et skjema, men du kan ikke bruke begge programmeringsspråkene i samme skjema. Du angir standard skriptspråk for et skjema ved å klikke Form Options (Alternativer for skjema) på Tools-menyen i utformingsmodus og deretter velge skriptspråk fra listen Form script language (Skriptspråk for skjema) i Advanced-kategorien (Avansert) i Forms Options-dialogboksen (Alternativer for skjema).
Obs! Når du har valgt standard skriptspråk og opprettet en hendelsesbehandling, vil du ikke kunne endre skriptspråket som brukes i et skjema.
Opprette en hendelsesbehandling
Når du skriver skriptkode i et InfoPath-skjema, skriver du vanligvis koden i en hendelsesbehandling for InfoPath-skjema eller datavalidering. Hvordan du oppretter hendelsesbehandlingen, avhenger av hva slags hendelse du vil bruke. Det er viktig at du oppretter hendelsesbehandlingen i utformingsmodus – InfoPath oppretter deklarasjonene for hendelsesbehandlingen i skriptfilen og legger til oppføringer i skjemadefinisjonsfilen (.xsf) som gjør det mulig for et skjema å bruke hendelsesbehandling.
Obs! Selv om det er mulig å opprette en hendelsesbehandling manuelt i skriptfilen og deretter legge til elementer manuelt i .xsf-filen for å aktivere hendelsesbehandlingen, anbefales det ikke.
Tabellen nedenfor viser alle typer hendelsesbehandling i InfoPath og hvordan de opprettes.
Hendelsesbehandling | Trinn |
---|---|
OnLoad | Åpne Tools-menyen, pek på Script, og klikk On Load Event. |
OnSwitchView | Åpne Tools-menyen, pek på Script, og klikk On Switch Views Event. |
OnBeforeChange | Klikk OnBeforeChange i Events-listen (Hendelser) i dialogboksen Data Validation (Datavalidering) (som er tilgjengelig fra Data-kategorien i dialogboksen Properties (Egenskaper) for en kontroll). Hendelsesbehandlingen OnBeforeChange kan også opprettes ved å velge kategorien Validation and Script (Validering og skript) i dialogboksen Field or Group Properties (Egenskaper for felt eller gruppe) for et felt og deretter klikke OnBeforeChange i Events-listen. |
OnValidate | Klikk OnValidate i Events-listen i dialogboksen Data Validation (som er tilgjengelig fra Data-kategorien i dialogboksen Properties for en kontroll). Hendelsesbehandlingen OnValidate kan også opprettes ved å velge kategorien Validation and Script i dialogboksen Field or Group Properties for et felt og deretter klikke OnValidate i Events-listen. |
OnAfterChange | Klikk OnAfterChange i Events-listen i dialogboksen Data Validation (som er tilgjengelig fra Data-kategorien i dialogboksen Properties for en kontroll). Hendelsesbehandlingen OnAfterChange kan også opprettes ved å velge kategorien Validation and Script i dialogboksen Field or Group Properties for et felt og deretter klikke OnAfterChange i Events-listen. |
OnSubmitRequest | Åpne Tools-menyen, og klikk Submitting Forms (Sende skjemaer). I dialogboksen Submitting Forms klikker du Submit using custom script (Send med egendefinert skript) i Submit-listen (Send). |
OnVersionUpgrade | Åpne Tools-menyen, og klikk Form Options (Alternativer for skjema). I Form Options-dialogboksen velger du Advanced-kategorien og deretter Use script event (Bruk skripthendelse) fra listen On version upgrade (Ved versjonsoppgradering). |
OnAfterImport | Denne typen hendelsesbehandling kan ikke opprettes i utformingsmodus. Du må opprette den manuelt. Se OnAfterImport-hendelsen hvis du vil ha mer informasjon. |
En vanlig funksjon i integrerte utviklingsmiljøer er muligheten til å søke etter feil i koden du har skrevet. Ved feilsøking i programmeringskode kan du velge om du vil feilsøke når det oppstår skriptfeil, eller du kan sette inn et stoppunkt i koden som angir når feilsøkingsprogrammet skal stanse programutførelsen slik at du kan bla gjennom koden og se hvordan den fungerer.
Hvis du vil søke etter feil i koden som brukes til å tilpasse et InfoPath-skjema, kan du bruke en feilsøkingssetning i programmeringskoden. I JScript bruker du setningen debugger;
. I VBScript bruker du setningen Stop
. Når du har satt inn en feilsøkingssetning i koden, lagrer du koden og forhåndsviser skjemaet. Eksemplet nedenfor viser hvordan du bruker feilsøkingssetningen i hendelsesbehandlingen OnLoad ved hjelp JScript-syntaks:
function XDocument::OnLoad(eventObj)
{
debugger;
}
Når du forhåndsviser eller åpner et skjema som inneholder en feilsøkingssetning, åpnes dialogboksen Just-In-Time Debugging (Tidsnok feilsøking), der du blir bedt om å velge feilsøkingsprogram. Klikk New Instance of Microsoft Script Editor (Ny forekomst av Microsoft Script Editor), og klikk deretter OK. I dialogboksen Step Into Remote Procedure Call (Steg inn i eksternt prosedyrekall) blir du bedt om å velge programtypen som skal feilsøkes. Klikk Script (Skript) og deretter OK. MSE åpnes i feilsøkingsmodus og viser en gul pil som angir hvor programutførelsen stanset.
Med MSE i feilsøkingsmodus kan du bruke alle feilsøkingsfunksjonene i programmet, inkludert stoppunkt, blaing gjennom programsetninger og visning av feilsøkingsvinduer, for eksempel Watch (Overvåking), Immediate (Øyeblikkelig) og Call Stack (Oppkallsstakk).
Hvis du vil stanse feilsøking i skriptkoden, klikker du Stop Debugging (Stopp feilsøking) på Debug-menyen eller trykker SKIFT+F5 .
Obs! Hvis du vil ha mer informasjon om bruk av MSE, klikk Microsoft Script Editor Help på Help-menyen når du arbeider i MSE.