Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Solitamente un campo, quando inserito in Microsoft Word, contiene già un valore aggiornato. Ad esempio, se il campo è una formula o un numero di pagina, conterrà un valore calcolato corretto per la versione specifica del documento. Ma se hai un’applicazione che genera o modifica un documento con campi (ad esempio combina due documenti o popola con dati), affinché il documento sia utile, tutti i campi dovrebbero idealmente essere aggiornati.
Un campo è costituito da:

Ecco una visualizzazione di come un campo viene archiviato in Aspose.Words utilizzando l’esempio “DocumentExplorer” che può essere trovato su Github.

Aspose.Words è una libreria di classi progettata per l’elaborazione lato server di documenti Microsoft Word e supporta i campi nei seguenti modi:
I campi nei documenti Microsoft Word sono complessi. Esistono oltre 50 tipi di campi (ognuno necessita della propria procedura di calcolo dei risultati), formule ed espressioni, segnalibri e riferimenti, funzioni e vari interruttori. I campi possono anche essere nidificati. Normalmente quando si apre un documento, il risultato del campo (il valore del campo) viene mostrato per tutti i campi del documento. È possibile attivare/disattivare la visualizzazione del risultato del campo o dei codici di campo in Microsoft Word per tutti i campi premendo ALT+F9.
| Codice campo | Risultato del campo |
|---|---|
![]() |
![]() |
Per inserire un campo in Microsoft Word:




Per aggiornare un singolo campo in Microsoft Word:
Per aggiornare tutti i campi in Microsoft Word:
Per attivare/disattivare i codici di campo di un singolo campo in Microsoft Word:
Per attivare/disattivare i codici di campo di tutti i campi in Microsoft Word:
Per convertire un campo dinamico in testo statico in Microsoft Word:
Per rimuovere un campo in Microsoft Word:
Quando un documento viene caricato in Aspose.Words, i campi del documento vengono caricati in Aspose.Words Document Object Model come un insieme di componenti separati (nodi). Un singolo campo viene caricato come raccolta di nodi FieldStart, FieldSeparator e FieldEnd insieme al contenuto tra questi nodi. Se un campo non ha un risultato di campo, non ci sarà alcun nodo FieldSeparator. Tutti questi nodi si trovano sempre in linea (come figli di Paragraph o SmartTag.
Il contenuto che costituisce il codice di campo viene archiviato come nodi Run tra FieldStart e FieldSeparator. Il risultato del campo viene archiviato tra i nodi FieldSeparator e FieldEnd e può essere costituito da vari tipi di contenuto. Normalmente il risultato del campo contiene solo testo composto da nodi Run, tuttavia è possibile che il nodo FieldEnd si trovi in un paragrafo completamente diverso, rendendo così il risultato del campo composto anche da nodi a livello di blocco come nodi Table e Paragraph.
In Aspose.Words ciascuno dei nodi FieldXXX deriva da FieldChar. Questa classe fornisce una proprietà per verificare il tipo di campo rappresentato dal nodo specificato tramite la proprietà FieldChar.field_type. Ad esempio FieldType.FIELD_MERGE_FIELD rappresenta un campo di unione nel documento.
Esistono alcuni campi particolari presenti in un documento Word che non vengono importati in Aspose.Words come raccolta di nodi FieldXXX. Ad esempio, il campo LINK e il campo INCLUDEPICTURE vengono importati in Aspose.Words come oggetto Shape. Questo oggetto fornisce proprietà per lavorare con i dati immagine normalmente archiviati in questi campi.
Anche i campi del modulo vengono importati in Aspose.Words come classe speciale. La classe FormField rappresenta un campo modulo in un documento Word e fornisce metodi aggiuntivi specifici per un campo modulo.
Il calcolo dei seguenti campi è supportato nella versione attuale di Aspose.Words:
ADDRESSBLOCKAUTHORCOMPARECREATEDATEDATEDOCPROPERTYDOCVARIABLEGREETINGLINEIFINCLUDETEXTMERGEFIELDMERGERECMERGESEQNEXTNEXTIFNUMPAGESPAGEPAGEREFREFSECTIONSECTIONPAGESSEQSETSTYLEREFTIMETITLETOATOC (inclusi TOT e TOF)
-TCAspose.Words segue il modo in cui Microsoft Word elabora i campi e di conseguenza gestisce correttamente:
: 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 fornisce un’implementazione molto seria del motore delle formule e supporta quanto segue:
=(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)"Sono supportate le seguenti funzioni nelle espressioni: ABS, AND, AVERAGE, COUNT, DEFINED, FALSE, IF, INT, MAX, MIN, MOD, NOT, OR, PRODUCT, ROUND, SIGN, SUM, TRUE.
IF e COMPARESolo alcune delle espressioni IF che Aspose.Words può facilmente calcolare dovrebbero darti un’idea di quanto sia potente questa funzionalità:
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 e TIMEAspose.Words supporta tutte le opzioni di formattazione di data e ora disponibili in Microsoft Word, alcuni esempi sono:
DATE @ "d-MMM-yy"DATE @ "d/MM/yyyy h:mm am/pmAspose.Words non impone limiti alla complessità dei campi Mail Merge nei tuoi documenti e supporta campi formula e IF nidificati e può persino calcolare il nome del campo di unione utilizzando una formula.
Alcuni esempi di campi Mail Merge supportati da Aspose.Words:
MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "IF { MERGEFIELDValue1 } >= {MERGEFIELD Value2 } True FalseMERGEFIELD { IF{MERGEFIELDValue1 } >= {MERGEFIELD Value2 } FirstName"LastName" }NEXTIF { MERGEFIELDValue1 } <= { =IF(-2.45 >= 6*{MERGEFIELD Value2 }, 2, -.45) }Un campo in un documento può avere opzioni di formattazione che specificano come deve essere formattato il valore risultante. Aspose.Words supporta le seguenti opzioni di formato:
Quando Aspose.Words calcola il risultato di un campo, spesso è necessario analizzare una stringa in un numero o un valore di data e anche formattarla nuovamente in una stringa. Per impostazione predefinita, Aspose.Words utilizza la cultura del thread corrente per eseguire l’analisi e la formattazione durante il calcolo dei valori del campo durante l’aggiornamento del campo e mail merge. Sono inoltre disponibili opzioni sotto forma di classe FieldOptions che consentono un ulteriore controllo su quale cultura viene utilizzata durante l’aggiornamento del campo.
Per controllare la cultura utilizzata durante il calcolo del campo, utilizza semplicemente il metodo locale.setlocale per impostare la cultura di tua scelta prima di richiamare il calcolo del campo. L’esempio seguente mostra come modificare la lingua utilizzata nei campi di formattazione durante l’aggiornamento.
L’utilizzo della lingua corrente per formattare i campi consente a un sistema di controllare in modo semplice e coerente il modo in cui tutti i campi nel documento vengono formattati durante l’aggiornamento dei campi.
D’altra parte, Microsoft Word formatta ogni singolo campo in base alla lingua del testo trovato nel campo (in particolare, le parti dal codice di campo). A volte durante l’aggiornamento del campo questo potrebbe essere il comportamento desiderato, ad esempio se si hanno documenti globalizzati con contenuti composti da molte lingue diverse e si desidera che ciascun campo rispetti la locale utilizzata dal testo. Aspose.Words supporta anche questa funzionalità.
La classe Document fornisce una proprietà field_options che contiene membri che possono essere utilizzati per controllare il modo in cui i campi vengono aggiornati all’interno del documento. L’esempio seguente mostra come specificare da dove viene scelta la lingua utilizzata per la formattazione della data durante l’aggiornamento del campo e mail merge.
Un campo inserito utilizzando DocumentBuilder.insert_field restituisce un oggetto Field. Questa è una classe di facciata che fornisce metodi utili per trovare rapidamente tali proprietà di un campo. Nota se stai cercando solo i nomi dei campi di unione nel documento, puoi invece utilizzare il metodo integrato MailMerge.get_field_names. L’esempio seguente mostra come ottenere i nomi di tutti i campi di unione in un documento.
L’esempio seguente mostra come rinominare i campi di unione in un documento di Word.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.