Поля автоматизації документів (IF, COMPARE, MACROBUTTON, та інші)

Поля автоматизації документів (IF, COMPARE, MACROBUTTON, та інші)

Поля автоматизації документів (IF, COMPARE та інші)

Цей посібник показує, як працювати з сімейством полів автоматизації документів Word у Aspose.Words FOSS для .NET – поля, які керують умовним текстом, зберігають змінні в межах документа та підключають макроси, навігацію та поведінку друку, а не лише відображають обчислене значення. Кожне є Field підклас у Aspose.Words.Fields простір імен: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton, і FieldPrint. Усі вони успадковують ядро Field члени, описані в Робота з полями – GetFieldCode(), Update(), Remove(), Unlink(), Start/Separator/End, Result, і Format – ця сторінка охоплює те, що специфічно для кожного.


Умовний текст за допомогою FieldIf

FieldIf реалізує IF поле. LeftExpression, ComparisonOperator, і RightExpression описують умову – ту ж тричастинну форму, яку використовують IComparisonExpressionEvaluator (див Робота з полями) – і TrueText / FalseText містить два можливих результати. Викличте EvaluateCondition() для оцінки умови безпосередньо; вона повертає FieldIfComparisonResult значення: True, False, або Error.


Порівняння значень за допомогою FieldCompare

FieldCompare реалізує поле COMPARE. Подібно до FieldIf, воно відкриває LeftExpression, ComparisonOperator та RightExpression для опису порівняння, але повертає результат у вигляді булевого значення, а не перемикає між двома текстовими альтернативами.


Змінні документа за допомогою FieldDocVariable

FieldDocVariable реалізує поле DOCVARIABLE, зчитуючи іменну змінну у межах документа через її властивість VariableName.


Кнопки: FieldGoToButton та FieldMacroButton

FieldGoToButton реалізує поле GOTOBUTTON: Location задає назву закладки, сторінки або іншого призначення, куди перейти, а DisplayText — це мітка, що відображається в документі. FieldMacroButton реалізує поле MACROBUTTON: MacroName задає назву макросу, який слід виконати, а DisplayText — це мітка. Обидва FieldIf і FieldMacroButton додатково реалізують IMergeFieldSurrogate, інтерфейс, який поля Word, орієнтовані на поштове злиття, використовують для позначення себе як замінного вмісту.


Інструкції друку з FieldPrint

FieldPrint реалізує поле PRINT: PrinterInstructions та PostScriptGroup містять інструкції, специфічні для принтера, вбудовані безпосередньо в документ.


Поради та найкращі практики

  • Використовуйте FieldIf.EvaluateCondition(), щоб отримати результат умови (FieldIfComparisonResult), не розбираючи TrueText/FalseText вручну.
  • FieldCompare та FieldIf мають однакову форму LeftExpression/ComparisonOperator/ RightExpression — код, який створює або аналізує один вираз порівняння, може бути використаний для обох типів полів.
  • Пам’ятайте, це всі Field підкласи: GetFieldCode(), Update(), Remove(), і Unlink() from Робота з полями застосовується точно так само тут.

Типові проблеми

ПроблемаПричинаВиправлення
FieldIf.EvaluateCondition() повертає ErrorОперанди або оператор умови не вдалося оцінити у записаній форміПеревірте LeftExpression, ComparisonOperator та RightExpression на коректні значення
FieldDocVariable результат не відповідає очікуваному значенню змінноїVariableName не збігається з назвою змінної, яка фактично присутня в документіПереконайтеся у точній назві змінної та її наявності перед читанням Result
FieldGoToButton/FieldMacroButton відображуваний текст не збігається з тим, що показує WordDisplayText було зчитано до оновлення поля або встановлено без відповідного виклику Update()Викличте Update() для поля або перечитайте DisplayText після будь-якої зміни

FAQ

Як прочитати результат умовного поля IF?

Викличте FieldIf.EvaluateCondition() для отримання необробленого FieldIfComparisonResult, або прочитайте TrueText / FalseText для двох буквальних текстових альтернатив, між якими перемикається поле.

У чому різниця між FieldIf і FieldCompare?

FieldIf (поле IF) перемикається між TrueText та FalseText залежно від його умови. FieldCompare (поле COMPARE) має ту ж форму порівняння, але повертає результат у вигляді булевого значення, а не альтернативного тексту.

Як прочитати назву змінної документа з поля DOCVARIABLE?

Прочитайте FieldDocVariable.VariableName.

Як знайти призначення поля GOTOBUTTON?

Прочитайте FieldGoToButton.Location; DisplayText дає мітку, що показується на кнопці в документі.


API Reference Підсумок

Клас / ПерерахуванняОпис
FieldIfIF поле; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition()
FieldIfComparisonResultПерелік результату FieldIf.EvaluateCondition(): True, False, Error
FieldCompareCOMPARE поле; LeftExpression, ComparisonOperator, RightExpression
FieldDocVariableDOCVARIABLE поле; VariableName
FieldGoToButtonGOTOBUTTON поле; Location, DisplayText
FieldMacroButtonMACROBUTTON поле; MacroName, DisplayText
FieldPrintPRINT поле; PrinterInstructions, PostScriptGroup

Дивіться також

 Українська