ExecuteAction-metoden
Utfører en Microsoft Office InfoPath 2003-redigeringskommando mot et skjemas underliggende XML-dokument, basert på de valgte dataene i visningen som er knyttet til View-objektet.
expression.ExecuteAction(ByVal bstrAction As String, [ByVal varXmlToEdit As Variant])
expression Obligatorisk. Et uttrykk som returnerer en referanse til View-objektet.
bstrAction Obligatorisk String. Navnet på redigeringshandlingen som skal foretas.
varXmlToEdit Valgfritt Variant. Navnet på feltet eller gruppen som redigeringshandlingen brukes på. Dette er det samme som verdien på name-attributtet i xmlToEdit-elementet til skjemadefinisjonsfilen (.xsf).
Sikkerhetsnivå
2: Kan åpnes bare av skjemaer som kjører på samme domene som skjemaet som i øyeblikket er åpent, eller av skjemaer som har fått tillatelser på tvers av domener.
Merknader
ExecuteAction-metoden brukes til å utføre innebygde InfoPath-redigeringshandlinger programmatisk mot et skjemas underliggende XML-dokument, basert på den valgte konteksten i en visning.
Handlingen som utføres, er den samme handlingen som ville blitt utført ved å klikke en tilsvarende meny- eller verktøylinjeknapp, og som knappeelementet i .xsf-filen har et tilsvarende xmlToEdit- og action-attributt for. På samme måte som når en knapp brukes, vil handlingen være basert på gjeldende utvalg: Den vil utføres på valgt kontekst (hvis valget fører til at knappen deaktiveres, vil ikke ExecuteAction-metoden ha noen virkning).
Obs! Du kan bruke skriptkode til først å angi valgkontekst ved hjelp av SelectNodes- eller SelectText-metoden for View-objektet og deretter kalle ExecuteAction-metoden og utføre den på den konteksten.
ExecuteAction-metoden returnerer en feil i følgende tilfeller:
- bstrAction-parameteren inneholder ikke et gyldig navn for redigeringskomponent.
- varXmlToEdit-parameteren stemmer ikke overens med en redigeringskomponent som er definert i visningen.
- varXmlToEdit-parameteren kreves for en bestemt redigeringshandling.
- Redigeringshandlingen gjelder ikke for valgt kontekst.
Gyldige parameterkombinasjoner
Tabellen nedenfor viser parameterkombinasjonene som kan brukes sammen med ExecuteAction-metoden.
Kombinasjon | Beskrivelse |
---|---|
"Kopier" | Kopierer merkede data til utklippstavlen. |
"Lim inn" | Kopier data fra utklippstavlen til innsettingspunktet. |
"Klipp ut" | Fjerner merkede data og kopierer dem til utklippstavlen. |
"Slett" | Sletter merkede data. |
"xCollection::insert", "xmlToEdit" | Setter inn data, basert på valgt kontekst, ved hjelp av redigeringskomponenten xCollection. Hvis gjeldende utvalg er innenfor en xCollection-beholder, som angitt av xmlToEdit-elementet i .xsf-filen, blir fragmentToInsert-elementdataene lagt til i den beholderen. |
"xCollection::insertBefore", "xmlToEdit" | Setter inn data foran den valgte konteksten ved hjelp av redigeringskomponenten xCollection. Hvis gjeldende utvalg er innenfor et xCollection-element, som angitt av xmlToEdit-elementet i .xsf-filen, blir fragmentToInsert-elementdataene satt inn foran det elementet. |
"xCollection::insertAfter", "xmlToEdit" | Setter inn data etter den valgte konteksten ved hjelp av redigeringskomponenten xCollection. Hvis gjeldende utvalg er innenfor et xCollection-element, som angitt av xmlToEdit-elementet i .xsf-filen, blir fragmentToInsert-elementdataene satt inn etter det elementet. |
"xCollection::remove", "xmlToEdit" | Sletter data fra den valgte konteksten ved hjelp av redigeringskomponenten xCollection. Hvis gjeldende utvalg er innenfor et xCollection-element, som angitt av xmlToEdit-elementet i .xsf-filen, blir det elementet slettet. |
"xCollection::removeAll", "xmlToEdit" | Sletter alle dataene i den valgte konteksten ved hjelp av redigeringskomponenten xCollection. Hvis gjeldende utvalg er innenfor en xCollection-beholder, som angitt av xmlToEdit-elementet i .xsf-filen, sletter denne handlingen alle elementene i den beholderen. |
"xReplace::replace", "xmlToEdit" | Erstatter dataene i den valgte konteksten ved hjelp av redigeringskomponenten xReplace. Hvis gjeldende utvalg er innenfor et xReplace-element, som angitt av xmlToEdit-elementet i .xsf-filen, blir det elementet erstattet med fragmentToInsert-elementdataene. |
"xOptional::insert", "xmlToEdit" | Setter inn data, basert på valgt kontekst, ved hjelp av redigeringskomponenten xOptional. Hvis gjeldende utvalg er innenfor en xOptional-beholder, som angitt av xmlToEdit-elementet i .xsf-filen, blir fragmentToInsert-elementdataene lagt til i den beholderen. |
"xOptional::remove", "xmlToEdit" | Sletter data fra den valgte konteksten ved hjelp av redigeringskomponenten xOptional. Hvis gjeldende utvalg er innenfor et xOptional-element, som angitt av xmlToEdit-elementet i .xsf-filen, blir det elementet slettet. |
Obs! I noen tilfeller kan et kall til ExecuteAction-metoden fra OnClick-hendelsen resultere i en feil. Dette skyldes at den valgte konteksten bytter til knappen når knappen klikkes. I slike tilfeller er det bedre å bruke en knapp (eller kobling) i en egendefinert oppgaverute, verktøylinje eller meny til å kalle ExecuteAction-metoden.
Eksempel
I eksemplet nedenfor brukes ExecuteAction-metoden for View-objektet til å slette merkede data og plassere dem på utklippstavlen:
XDocument.View.ExecuteAction("Cut");
I eksemplet nedenfor brukes ExecuteAction-metoden for View-objektet til å sette inn data ved hjelp av redigeringskomponenten xCollection, basert på valgt kontekst:
XDocument.View.ExecuteAction("xCollection::insert", "group1_1");