Dokumentumautomatizálási mezők (IF, COMPARE, MACROBUTTON és továbbiak)

Dokumentumautomatizálási mezők (IF, COMPARE, MACROBUTTON és továbbiak)

Dokumentumautomatizálási mezők (IF, COMPARE és egyebek)

Ez az útmutató bemutatja, hogyan kell dolgozni a Word dokumentum-automatizálási mezőcsaládjával Aspose.Words FOSS a .NET – olyan mezők, amelyek feltételes szöveget vezérelnek, dokumentum-szintű változókat tárolnak, és makrókat, navigációt, valamint nyomtatási viselkedést kötnek össze, ahelyett, hogy egyszerűen egy számított értéket jelenítenének meg. Mindegyik egy Field aldosztály a Aspose.Words.Fields névtér: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton, és FieldPrint. Mindegyik örökli az alap Field tagok, amelyeket leírunk Mezőkkel való munka – GetFieldCode(), Update(), Remove(), Unlink(), Start/Separator/End, Result, és Format – ez az oldal lefedi, hogy mi specifikus minden egyesnél.


Feltételes szöveg a FieldIf használatával

FieldIf megvalósítja a IF mező. LeftExpression, ComparisonOperator, és RightExpression leírja a feltételt – ugyanaz a háromrészes forma, amit használ IComparisonExpressionEvaluator (lásd Mezőkkel való munka) – és TrueText / FalseText tartalmazza a két lehetséges eredményt. Hívja EvaluateCondition() a feltétel közvetlen kiértékeléséhez; egy FieldIfComparisonResult érték: True, False, vagy Error.


Értékek összehasonlítása a FieldCompare használatával

FieldCompare implementálja a COMPARE mezőt. A FieldIf-hez hasonlóan LeftExpression, ComparisonOperator és RightExpression segítségével írja le az összehasonlítást, de logikai (boolean) típusú eredményt ad, ahelyett, hogy két szöveges alternatíva között váltana.


Dokumentumváltozók a FieldDocVariable használatával

FieldDocVariable megvalósítja a DOCVARIABLE mezőt, egy névvel ellátott dokumentumszintű változót olvas be a VariableName tulajdonságán keresztül.


Gombok: FieldGoToButton és FieldMacroButton

FieldGoToButton megvalósítja a GOTOBUTTON mezőt: a Location adja meg a könyvjelzőt, oldalt vagy egyéb célt, amelyre ugrani kell, a DisplayText pedig a dokumentumban megjelenő címke. FieldMacroButton megvalósítja a MACROBUTTON mezőt: a MacroName adja meg a futtatandó makrót, a DisplayText pedig a címke. Mind a FieldIf, mind a FieldMacroButton továbbiakban megvalósítja a IMergeFieldSurrogate interfészt, amelyet a Word mail-merge-aware mezői használnak, hogy magukat helyettesíthető tartalomként jelöljék.


Nyomtatási utasítások a(z) FieldPrint segítségével

FieldPrint megvalósítja a PRINT mezőt: a PrinterInstructions és a PostScriptGroup a dokumentumba közvetlenül beágyazott nyomtató-specifikus utasításokat tartalmazzák.


Tippek és bevált gyakorlatok

  • Használja a(z) FieldIf.EvaluateCondition() elemet a feltétel eredményének (FieldIfComparisonResult) kiolvasásához anélkül, hogy saját maga kellene feldolgozza a(z) TrueText/FalseText értékét.
  • FieldCompare és FieldIf ugyanazt a LeftExpression/ComparisonOperator/ RightExpression alakot osztják meg — egy összehasonlító kifejezést felépítő vagy vizsgáló kód újrahasználható mindkét mezőtípusnál.
  • Ne feledje, ezek mind Field aldosztályok: GetFieldCode(), Update(), Remove(), és Unlink() from Mezőkkel való munka pontosan ugyanúgy alkalmazandó itt.

Gyakori problémák

HibaOkJavítás
FieldIf.EvaluateCondition() visszaadja ErrorA feltétel operandusait vagy operátorát nem lehet kiértékelni a leírt módonEllenőrizze, hogy LeftExpression, ComparisonOperator és RightExpression érvényes értékek-e
FieldDocVariable eredmény nem tükrözi a várt változó értékétVariableName nem egyezik a dokumentumban ténylegesen jelen lévő változónévvelEllenőrizze a pontos változónevet, és hogy létezik-e, mielőtt beolvasná a(z) Result
FieldGoToButton/FieldMacroButton megjelenő szöveg nem egyezik azzal, amit a Word mutatDisplayText akkor lett beolvasva, amikor a mező még nem frissült, vagy anélkül lett beállítva, hogy megfelelő Update() hívás történt volnaHívja meg a(z) Update() függvényt a mezőn, vagy olvassa újra a(z) DisplayText értéket minden változtatás után

FAQ

Hogyan olvashatom el egy feltételes IF mező eredményét?

Hívja a FieldIf.EvaluateCondition()-t a nyers FieldIfComparisonResult lekéréséhez, vagy olvassa a TrueText / FalseText értékeket a mező által váltogatott két szó szerinti szöveges alternatíva közül.

Mi a különbség a FieldIf és a FieldCompare között?

FieldIf (a IF mező) a feltétel alapján TrueText és FalseText között vált. FieldCompare (a COMPARE mező) ugyanazt az összehasonlítási formát használja, de alternatív szöveg helyett logikai (boolean) típusú eredményt ad.

Hogyan olvashatom el egy dokumentum változó nevét egy DOCVARIABLE mezőből?

Olvasd el FieldDocVariable.VariableName.

Hogyan találom meg egy GOTOBUTTON mező célját?

Olvasd el FieldGoToButton.Location; DisplayText adja meg a dokumentumban a gombon megjelenő címkét.


API Reference összefoglaló

Osztály / EnumerációLeírás
FieldIfIF mező; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition()
FieldIfComparisonResultEnum eredménye FieldIf.EvaluateCondition(): True, False, Error
FieldCompareCOMPARE mező; LeftExpression, ComparisonOperator, RightExpression
FieldDocVariableDOCVARIABLE mező; VariableName
FieldGoToButtonGOTOBUTTON mező; Location, DisplayText
FieldMacroButtonMACROBUTTON mező; MacroName, DisplayText
FieldPrintPRINT mező; PrinterInstructions, PostScriptGroup

Lásd még:

 Magyar