Documentautomatiseringsvelden (IF, COMPARE, MACROBUTTON, en meer)

Documentautomatiseringsvelden (IF, COMPARE, MACROBUTTON, en meer)

Documentautomatiseringsvelden (IF, COMPARE en Meer)

Deze gids laat zien hoe je met de documentautomatisering-veldengroep van Word werkt in Aspose.Words FOSS voor .NET – velden die voorwaardelijke tekst aansturen, document-scope variabelen opslaan en macro’s, navigatie en afdrukgedrag koppelen, in plaats van alleen een berekende waarde weer te geven. Elk is een Field subklasse in de Aspose.Words.Fields naamruimte: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton, en FieldPrint. Allemaal erven de kern Field leden die beschreven worden in Werken met velden – GetFieldCode(), Update(), Remove(), Unlink(), Start/Separator/End, Result, en Format – deze pagina behandelt wat specifiek is voor elk.


Voorwaardelijke tekst met FieldIf

FieldIf implementeert de IF veld. LeftExpression, ComparisonOperator, en RightExpression beschrijven de conditie – dezelfde drievoudige vorm die wordt gebruikt door IComparisonExpressionEvaluator (zie Werken met velden) – en TrueText / FalseText bevat de twee mogelijke resultaten. Roep EvaluateCondition() om de voorwaarde direct te evalueren; het retourneert een FieldIfComparisonResult waarde: True, False, of Error.


Waarden vergelijken met FieldCompare

FieldCompare implementeert het COMPARE veld. Net als FieldIf maakt het LeftExpression, ComparisonOperator en RightExpression beschikbaar om de vergelijking te beschrijven, maar levert een booleaans resultaat in plaats van te schakelen tussen twee tekstalternatieven.


Documentvariabelen met FieldDocVariable

FieldDocVariable implementeert het DOCVARIABLE veld, waarbij een benoemde document-brede variabele wordt gelezen via zijn VariableName eigenschap.


Knoppen: FieldGoToButton en FieldMacroButton

FieldGoToButton implementeert het GOTOBUTTON veld: Location geeft de bladwijzer, pagina of andere bestemming aan waarnaar moet worden gesprongen, en DisplayText is het label dat in het document wordt weergegeven. FieldMacroButton implementeert het MACROBUTTON veld: MacroName geeft de macro aan die moet worden uitgevoerd en DisplayText is het label. Zowel FieldIf als FieldMacroButton implementeren bovendien IMergeFieldSurrogate, de interface die door Word’s mail-merge-aware velden wordt gebruikt om zichzelf als vervangbare inhoud te markeren.


Afdrukinstructies met FieldPrint

FieldPrint implementeert het PRINT veld: PrinterInstructions en PostScriptGroup bevatten printer-specifieke instructies die direct in het document zijn ingebed.


Tips en best practices

  • Gebruik FieldIf.EvaluateCondition() om de uitkomst van een voorwaarde (FieldIfComparisonResult) te lezen zonder zelf TrueText/FalseText te hoeven parseren.
  • FieldCompare en FieldIf delen dezelfde LeftExpression/ComparisonOperator/ RightExpression vorm – code die één vergelijkingsuitdrukking bouwt of inspecteert kan worden hergebruikt voor beide veldtypen.
  • Onthoud dat dit allemaal Field subklassen: GetFieldCode(), Update(), Remove(), en Unlink() from Werken met velden pas hier exact op dezelfde manier toe.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
FieldIf.EvaluateCondition() geeft Error terugDe operanden of operator van de voorwaarde konden niet worden geëvalueerd zoals geschrevenControleer LeftExpression, ComparisonOperator en RightExpression op geldige waarden
Resultaat van FieldDocVariable weerspiegelt niet de verwachte variabelewaardeVariableName komt niet overeen met een variabelenaam die daadwerkelijk in het document aanwezig isBevestig de exacte variabelenaam en dat deze bestaat voordat Result wordt gelezen
Weergavetekst van FieldGoToButton/FieldMacroButton komt niet overeen met wat Word toontDisplayText werd gelezen voordat het veld werd bijgewerkt, of is ingesteld zonder een overeenkomende Update()-aanroepRoep Update() aan op het veld, of lees DisplayText opnieuw in na elke wijziging ervan

FAQ

Hoe lees ik het resultaat van een voorwaardelijk IF-veld?

Roep FieldIf.EvaluateCondition() aan voor de ruwe FieldIfComparisonResult, of lees TrueText / FalseText voor de twee letterlijke tekstalternatieven waar het veld tussen schakelt.

Wat is het verschil tussen FieldIf en FieldCompare?

FieldIf (het IF veld) schakelt tussen TrueText en FalseText op basis van zijn conditie. FieldCompare (het COMPARE veld) heeft dezelfde vergelijkingsvorm, maar levert een booleaans resultaat in plaats van alternatieve tekst.

Hoe lees ik de naam van een documentvariabele uit een DOCVARIABLE-veld?

Lees FieldDocVariable.VariableName.

Hoe vind ik de bestemming van een GOTOBUTTON-veld?

Lees FieldGoToButton.Location; DisplayText geeft het label dat voor de knop in het document wordt weergegeven.


API Reference Samenvatting

Klasse / EnumBeschrijving
FieldIfIF veld; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition()
FieldIfComparisonResultEnum-resultaat van FieldIf.EvaluateCondition(): True, False, Error
FieldCompareCOMPARE veld; LeftExpression, ComparisonOperator, RightExpression
FieldDocVariableDOCVARIABLE veld; VariableName
FieldGoToButtonGOTOBUTTON field; Location, DisplayText
FieldMacroButtonMACROBUTTON veld; MacroName, DisplayText
FieldPrintPRINT veld; PrinterInstructions, PostScriptGroup

Zie ook

 Nederlands