Các trường Tự động Hóa Tài liệu (IF, COMPARE, MACROBUTTON, và Thêm)

Các trường Tự động Hóa Tài liệu (IF, COMPARE, MACROBUTTON, và Thêm)

Các trường Tự động Hóa Tài liệu (IF, COMPARE, và Thêm)

Hướng dẫn này cho thấy cách làm việc với họ trường tự động hóa tài liệu của Word trong Aspose.Words FOSS cho .NET – các trường điều khiển văn bản có điều kiện, lưu các biến có phạm vi tài liệu, và kết nối macro, điều hướng, và hành vi in, thay vì chỉ hiển thị một giá trị đã tính toán. Mỗi trường là một Field lớp con trong Aspose.Words.Fields không gian tên: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton, và FieldPrint. Tất cả chúng kế thừa core Field các thành viên được mô tả trong Làm việc với các trường – GetFieldCode(), Update(), Remove(), Unlink(), Start/Separator/End, Result, và Format – trang này đề cập đến những gì cụ thể cho từng mục.


Văn bản có điều kiện với FieldIf

FieldIf thực hiện IF trường. LeftExpression, ComparisonOperator, và RightExpression mô tả điều kiện – cùng dạng ba phần được sử dụng bởi IComparisonExpressionEvaluator (xem Làm việc với các trường) – và TrueText / FalseText giữ hai kết quả có thể. Gọi EvaluateCondition() để đánh giá điều kiện trực tiếp; nó trả về một FieldIfComparisonResult giá trị: True, False, hoặc Error.


So sánh giá trị với FieldCompare

FieldCompare thực hiện trường COMPARE. Giống như FieldIf, nó phơi bày LeftExpression, ComparisonOperator, và RightExpression để mô tả phép so sánh, nhưng tạo ra một kết quả dạng boolean thay vì chuyển đổi giữa hai lựa chọn văn bản.


Biến tài liệu với FieldDocVariable

FieldDocVariable thực hiện trường DOCVARIABLE, đọc một biến có phạm vi tài liệu được đặt tên thông qua thuộc tính VariableName của nó.


Nút: FieldGoToButton và FieldMacroButton

FieldGoToButton thực hiện trường GOTOBUTTON: Location đặt tên cho đánh dấu, trang, hoặc đích đến khác để nhảy tới, và DisplayText là nhãn hiển thị trong tài liệu. FieldMacroButton thực hiện trường MACROBUTTON: MacroName đặt tên macro sẽ chạy và DisplayText là nhãn. Cả FieldIf và FieldMacroButton còn thực hiện IMergeFieldSurrogate, giao diện mà các trường hỗ trợ mail-merge của Word dùng để đánh dấu chúng là nội dung có thể thay thế.


Hướng dẫn in với FieldPrint

FieldPrint thực hiện trường PRINT: PrinterInstructions và PostScriptGroup chứa các hướng dẫn đặc thù cho máy in được nhúng trực tiếp trong tài liệu.


Mẹo và Thực hành tốt nhất

  • Sử dụng FieldIf.EvaluateCondition() để đọc kết quả của một điều kiện (FieldIfComparisonResult) mà không cần tự mình phân tích TrueText/FalseText.
  • FieldCompare và FieldIf chia sẻ cùng một dạng LeftExpression/ComparisonOperator/ RightExpression – mã xây dựng hoặc kiểm tra một biểu thức so sánh có thể được tái sử dụng cho cả hai loại trường.
  • Hãy nhớ rằng đây là tất cả Field các lớp con: GetFieldCode(), Update(), Remove(), và Unlink() from Làm việc với các trường áp dụng chính xác theo cùng cách ở đây.

Vấn đề thường gặp

Vấn đềNguyên nhânKhắc phục
FieldIf.EvaluateCondition() trả về ErrorCác toán hạng hoặc toán tử của điều kiện không thể được đánh giá như đã viếtKiểm tra LeftExpression, ComparisonOperator và RightExpression để xem có giá trị hợp lệ không
Kết quả FieldDocVariable không phản ánh giá trị biến mong đợiVariableName không khớp với tên biến thực sự có trong tài liệuXác nhận tên biến chính xác và chắc chắn nó tồn tại trước khi đọc Result
Văn bản hiển thị FieldGoToButton/FieldMacroButton không khớp với những gì Word hiển thịDisplayText đã được đọc trước khi trường được cập nhật, hoặc đã được đặt mà không có lệnh Update() tương ứngGọi Update() trên trường, hoặc đọc lại DisplayText sau bất kỳ thay đổi nào

FAQ

Làm sao tôi đọc kết quả của trường IF có điều kiện?

Gọi FieldIf.EvaluateCondition() để lấy FieldIfComparisonResult thô, hoặc đọc TrueText / FalseText để xem hai lựa chọn văn bản nguyên gốc mà trường chuyển đổi giữa chúng.

Sự khác biệt giữa FieldIf và FieldCompare là gì?

FieldIf (trường IF) chuyển đổi giữa TrueText và FalseText dựa trên điều kiện của nó. FieldCompare (trường COMPARE) có cùng hình dạng so sánh nhưng tạo ra kết quả dạng boolean thay vì văn bản thay thế.

Làm sao tôi đọc tên biến tài liệu từ trường DOCVARIABLE?

Đọc FieldDocVariable.VariableName.

Làm thế nào để tôi tìm vị trí đích của trường GOTOBUTTON?

Đọc FieldGoToButton.Location; DisplayText cung cấp nhãn hiển thị cho nút trong tài liệu.


API Reference Tóm tắt

Lớp / EnumMô tả
FieldIfIF trường; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition()
FieldIfComparisonResultKết quả enum của FieldIf.EvaluateCondition(): True, False, Error
FieldCompareCOMPARE trường; LeftExpression, ComparisonOperator, RightExpression
FieldDocVariableDOCVARIABLE trường; VariableName
FieldGoToButtonGOTOBUTTON trường; Location, DisplayText
FieldMacroButtonMACROBUTTON field; MacroName, DisplayText
FieldPrintPRINT field; PrinterInstructions, PostScriptGroup

Xem thêm

 Tiếng Việt