Enum FieldKind
The field kinds the DOM field engine recognizes (ECMA-376 Part 1 §17.16.5).
public enum FieldKind
Fields
Unknown = 0An unrecognized or empty instruction.
If = 1IF — conditional text based on a comparison.
Compare = 2COMPARE — the comparison alone, yielding "1" or "0".
Formula = 3= — the formula field.
MergeField = 4MERGEFIELD — a mail-merge data field.
MergeRec = 5MERGEREC — the current merge record number.
MergeSeq = 6MERGESEQ — the current merge output sequence number.
Next = 7NEXT — advance to the next merge record.
NextIf = 8NEXTIF — advance to the next merge record when a comparison holds.
SkipIf = 9SKIPIF — skip the current merge record when a comparison holds.
Set = 10SET — bind a bookmark name to a value.
Ref = 11REF — the text of a bookmark.
NoRef = 12NOREF — a bookmark reference that suppresses the page-number form.
DocVariable = 13DOCVARIABLE — a document variable.
DocProperty = 14DOCPROPERTY — a document property.
FileName = 15FILENAME — the document file name.
Author = 16AUTHOR — the document author.
Title = 17TITLE — the document title.
Subject = 18SUBJECT — the document subject.
Keywords = 19KEYWORDS — the document keywords.
Comments = 20COMMENTS — the document comments property.
LastSavedBy = 21LASTSAVEDBY — the last author to save the document.
Date = 22DATE — the current date.
Time = 23TIME — the current time.
CreateDate = 24CREATEDATE — the document creation date.
SaveDate = 25SAVEDATE — the document last-saved date.
PrintDate = 26PRINTDATE — the document last-printed date.
Quote = 27QUOTE — literal text, evaluated for switches and nested fields.
StyleRef = 28STYLEREF — the text of the nearest paragraph in a given style.
UserName = 29USERNAME — the application user name.
UserInitials = 30USERINITIALS — the application user initials.
UserAddress = 31USERADDRESS — the application user address.
Page = 32PAGE — the current page number. Evaluated by layout, not here.
NumPages = 33NUMPAGES — the document page count. Evaluated by layout, not here.
SectionPages = 34SECTIONPAGES — the section page count. Evaluated by layout, not here.
Section = 35SECTION — the current section number. Evaluated by layout, not here.
PageRef = 36PAGEREF — the page a bookmark is on. Evaluated by layout, not here.
Seq = 37SEQ — a sequence counter. Evaluated by layout, not here.
ListNum = 38LISTNUM — a list counter. Evaluated by layout, not here.
Toc = 39TOC — a table of contents.
TocEntry = 40TC — a table-of-contents entry marker.
Index = 41INDEX — an index.
IndexEntry = 42XE — an index entry marker.
Hyperlink = 43HYPERLINK — a hyperlink.
IncludeText = 44INCLUDETEXT — external text. Recognized and preserved; never fetched.
IncludePicture = 45INCLUDEPICTURE — an external image. Recognized and preserved; never fetched.
Link = 46LINK — an OLE link. Recognized and preserved; never fetched.
Dde = 47DDE — a dynamic data exchange link. Recognized and preserved; never fetched.
DdeAuto = 48DDEAUTO — an automatic DDE link. Recognized and preserved; never fetched.
MacroButton = 49MACROBUTTON — an interactive macro trigger. Recognized and preserved.
GoToButton = 50GOTOBUTTON — an interactive navigation trigger. Recognized and preserved.
Private = 51PRIVATE — converter-private data. Recognized and preserved.
Ask = 52ASK — an interactive prompt. Recognized and preserved.
FillIn = 53FILLIN — an interactive prompt. Recognized and preserved.
FormText = 54FORMTEXT — a text form field. Instruction parsed; evaluation belongs to forms.
FormCheckBox = 55FORMCHECKBOX — a checkbox form field. Instruction parsed; evaluation belongs to forms.
FormDropDown = 56FORMDROPDOWN — a dropdown form field. Instruction parsed; evaluation belongs to forms.
Symbol = 57SYMBOL — a literal character by code point.
Equation = 58EQ — the legacy equation field. Recognized and preserved.
AutoText = 59AUTOTEXT — an auto-text entry. Recognized and preserved.
AddressBlock = 60ADDRESSBLOCK — a merge address block. Recognized and preserved.
GreetingLine = 61GREETINGLINE — a merge greeting line. Recognized and preserved.
NumChars = 62NUMCHARS — the document character count. Recognized and preserved.
NumWords = 63NUMWORDS — the document word count. Recognized and preserved.
Template = 64TEMPLATE — the attached template name.
Remarks
This is deliberately a second vocabulary, separate from the layout resolver's internal field enum. That enum names the handful of fields layout evaluates because they depend on pagination; sharing one enum would either publish layout internals or drag pagination concerns into the DOM. Recognition here is not a promise of evaluation — see GetSupport(FieldKind) and the field support matrix in COMPAT.md.
Values are explicit and append-only, like the diagnostic codes.