Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Zwykle pole wstawione do Microsoft Word zawiera już aktualną wartość. Przykładowo, jeżeli polem jest formuła lub numer strony, będzie ona zawierała poprawną obliczoną wartość dla danej wersji dokumentu. Ale jeśli masz aplikację, która generuje lub modyfikuje dokument z polami (na przykład łączy dwa dokumenty lub wypełnia danymi), to aby dokument był użyteczny, idealnie byłoby, gdyby wszystkie pola zostały zaktualizowane.
Pole składa się z:

Oto widok przechowywania pola w formacie Aspose.Words na przykładzie “DocumentExplorer”, który można znaleźć w GitHub.

Aspose.Words to biblioteka klas przeznaczona do przetwarzania dokumentów Microsoft Word po stronie serwera i obsługuje pola w następujący sposób:
Pola w dokumentach Microsoft Word są złożone. Istnieje ponad 50 typów pól (każdy wymaga własnej procedury obliczania wyników), formuły i wyrażenia, zakładki i odniesienia, funkcje i różne przełączniki. Pola można także zagnieżdżać. Zwykle po otwarciu dokumentu wynik pola (wartość pola) jest pokazywany dla wszystkich pól w dokumencie. Możesz przełączyć wyświetlanie wyników pól lub kodów pól w Microsoft Word dla wszystkich pól, naciskając ALT+F9.
| Kod pola | Wynik pola |
|---|---|
![]() |
![]() |
Aby wstawić pole w formacie Microsoft Word:




Aby zaktualizować pojedyncze pole w Microsoft Word:
Aby zaktualizować wszystkie pola w Microsoft Word:
Aby przełączyć kody pól pojedynczego pola w Microsoft Word:
Aby przełączyć kody pól wszystkich pól w Microsoft Word:
Aby przekonwertować pole dynamiczne na tekst statyczny w formacie Microsoft Word:
Aby usunąć pole w Microsoft Word:
Kiedy dokument jest ładowany do Aspose.Words, pola dokumentu są ładowane do Aspose.Words Document Object Model jako zestaw oddzielnych komponentów (węzłów). Pojedyncze pole jest ładowane jako zbiór węzłów FieldStart, FieldSeparator i FieldEnd wraz z zawartością pomiędzy tymi węzłami. Jeśli pole nie ma wyniku w postaci pola, nie będzie węzła FieldSeparator. Wszystkie te węzły zawsze znajdują się w linii (jako elementy podrzędne Paragraph lub SmartTag.
Treść tworząca kod pola jest przechowywana jako węzły Run pomiędzy FieldStart i FieldSeparator. Wynik pola jest przechowywany pomiędzy węzłami FieldSeparator i FieldEnd i może składać się z różnych typów treści. Zwykle wynik pola zawiera tylko tekst składający się z węzłów Run, jednak możliwe jest, że węzeł FieldEnd zostanie umieszczony w zupełnie innym akapicie, co spowoduje, że wynik pola będzie składał się również z węzłów na poziomie bloków, takich jak węzły Table i Paragraph.
W Aspose.Words każdy z węzłów FieldXXX pochodzi z formatu FieldChar. Ta klasa udostępnia właściwość umożliwiającą sprawdzanie typu pola reprezentowanego przez określony węzeł za pomocą właściwości FieldChar.field_type. Na przykład FieldType.FIELD_MERGE_FIELD reprezentuje pole scalania w dokumencie.
W dokumencie programu Word istnieją pewne szczególne pola, które nie są importowane do Aspose.Words jako zbiór węzłów FieldXXX. Na przykład pole LINK i pole INCLUDEPICTURE są importowane do Aspose.Words jako obiekt Shape. Obiekt ten zapewnia właściwości umożliwiające pracę z danymi obrazu zwykle przechowywanymi w tych polach.
Pola formularzy są również importowane do Aspose.Words jako osobna klasa specjalna. Klasa FormField reprezentuje pole formularza w dokumencie programu Word i udostępnia dodatkowe metody specyficzne dla pola formularza.
W aktualnej wersji Aspose.Words obsługiwane jest obliczanie następujących pól:
ADDRESSBLOCKAUTHORCOMPARECREATEDATEDATEDOCPROPERTYDOCVARIABLEGREETINGLINEIFINCLUDETEXTMERGEFIELDMERGERECMERGESEQNEXTNEXTIFNUMPAGESPAGEPAGEREFREFSECTIONSECTIONPAGESSEQSETSTYLEREFTIMETITLETOATOC (w tym TOT i TOF)
-TCAspose.Words podąża za sposobem, w jaki Microsoft Word przetwarza pola, dzięki czemu poprawnie obsługuje:
: IF { =OR({ COMPARE { =2.5 +PRODUCT(3,5 ,8.4) } > 4}, { =2/2 }) } = 1 "Credit not acceptable" "Credit acceptable"MERGEFIELD \f"Text after""Field \n\ame with \" and \\\ and \\\*"\bTextBefor\eAspose.Words zapewnia bardzo poważną implementację silnika formuł i obsługuje następujące elementy:
=(54+4*(6-77)-(5))+(-6-5)/4/5=ABS(-01.4)+2.645/(5.6^3.5)+776457 \\\# "#,##0"=IF(C>4, 5,ABS(A)*.76) +3.85=00000000 \\\# "$#,##0.00;($#,##0.00)"Obsługiwane są następujące funkcje w wyrażeniach: ABS, AND, AVERAGE, COUNT, DEFINED, FALSE, IF, INT, MAX, MIN, MOD, NOT, OR, PRODUCT, ROUND, SIGN, SUM, TRUE.
IF i COMPARETylko niektóre wyrażenia IF, które Aspose.Words może łatwo obliczyć, powinny dać ci wyobrażenie o tym, jak potężna jest ta funkcja:
IF 3 > 5.7^4+MAX(4,3) True FalseIF "abcd" > "abc" True FalseIF "?ab*" = "1abdsg" True FalseIF 4 = "2*2" True FalseCOMPARE 3+5/34 < 4.6/3/2DATE i TIMEAspose.Words obsługuje wszystkie przełączniki formatowania daty i godziny dostępne w formacie Microsoft Word, niektóre przykłady to:
DATE @ "d-MMM-yy"DATE @ "d/MM/yyyy h:mm am/pmAspose.Words nie nakłada żadnych ograniczeń na złożoność pól Mail Merge w dokumentach i obsługuje zagnieżdżone pola IF i formuły, a nawet może obliczyć nazwę pola scalania za pomocą formuły.
Kilka przykładów pól Mail Merge obsługiwanych przez Aspose.Words:
MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "IF { MERGEFIELDValue1 } >= {MERGEFIELD Value2 } True FalseMERGEFIELD { IFF{MERGEFIELDValue1 } >= {MERGEFIELD Value2 } FirstName"LastName" }NEXTIF { MERGEFIELDValue1 } <= { =IF(-2.45 >= 6*{MERGEFIELD Value2 }, 2, -.45) }Pole w dokumencie może mieć przełączniki formatowania, które określają sposób formatowania wartości wynikowej. Aspose.Words obsługuje następujące przełączniki formatu:
Kiedy Aspose.Words oblicza wynik pola, często musi przeanalizować ciąg znaków na liczbę lub wartość daty, a także sformatować go z powrotem na ciąg znaków. Domyślnie Aspose.Words używa bieżącej kultury wątku do przeprowadzania analizy i formatowania podczas obliczania wartości pól podczas aktualizacji pola i mail merge. Dostępne są również opcje w postaci klasy FieldOptions, które pozwalają na dalszą kontrolę nad tym, która kultura jest używana podczas aktualizacji pola.
Aby kontrolować kulturę używaną podczas obliczania pola, wystarczy użyć metody locale.setlocale w celu ustawienia wybranej kultury przed wywołaniem obliczeń pola. Poniższy przykład pokazuje, jak zmienić kulturę używaną w formatowaniu pól podczas aktualizacji.
Użycie bieżącej kultury do formatowania pól umożliwia systemowi łatwe i spójne kontrolowanie sposobu formatowania wszystkich pól w dokumencie podczas aktualizacji pól.
Z drugiej strony Microsoft Word formatuje każde pole w oparciu o język tekstu znalezionego w polu (w szczególności kod pola). Czasami podczas aktualizacji pola może to być pożądane zachowanie, na przykład jeśli masz zglobalizowane dokumenty zawierające treść złożoną z wielu różnych języków i chcesz, aby każde pole honorowało ustawienia regionalne użyte w tekście. Aspose.Words obsługuje również tę funkcję.
Klasa Document udostępnia właściwość field_options zawierającą elementy, których można używać do kontrolowania sposobu aktualizowania pól w dokumencie. Poniższy przykład pokazuje, jak określić, skąd zostanie wybrana kultura używana do formatowania daty podczas aktualizacji pola i mail merge.
Pole wstawione za pomocą DocumentBuilder.insert_field zwraca obiekt Field. Jest to klasa fasady, która udostępnia przydatne metody szybkiego znajdowania takich właściwości pola. Uwaga, jeśli szukasz tylko nazw pól scalania w dokumencie, możesz zamiast tego użyć wbudowanej metody MailMerge.get_field_names. Poniższy przykład pokazuje, jak uzyskać nazwy wszystkich pól scalania w dokumencie.
Poniższy przykład pokazuje, jak zmienić nazwę pól scalania w dokumencie programu Word.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.