title: How to add a field with formatting to MS Word using C#
body: <p>I have a word document which contains a custom property ("MyCustomProperty").  I would like to use C# to insert a DOCPROPERTY field with formatting and highlighting.  This is what I have tried...</p>
  
  <pre><code>var myCustomProperty = "MyCustomProperty";
  foreach (Microsoft.Office.Interop.Word.Section section in Document.Sections)
  {
      var headerRange = section.Headers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
      foreach(Word.Field field in headerRange.Fields)
      {
          if(field.Type == Word.WdFieldType.wdFieldDocProperty
           &amp;&amp; field.Code.Text.Contains(myCustomProperty))
          {
              //already has the header
              return;
          }
      }
      headerRange.Collapse(Word.WdCollapseDirection.wdCollapseStart);
      var f = (Word.Field)headerRange.Fields.Add(headerRange,
                             Word.WdFieldType.wdFieldDocProperty,
                             myCustomProperty,
                             true);
  
      f.Code.Font.Name = this.FontName;
      f.Code.Font.Size = this.FontSize;
      f.Code.Font.Bold = (int)this.IsBold;
      f.Code.Font.Italic = (int)this.IsItalic;
      f.Code.HighlightColorIndex = Word.WdColorIndex.wdYellow;
      f.Update();
      f.Code.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight;
      f.Code.InsertParagraphAfter();
  }
  </code></pre>
  
  <p>When I run this code, the field gets added to the header and is right-aligned.  But the font, size, and weight are all default (Calibri (body), 11, not bold, not italic).  The text is not highlighted.</p>
  
  <p>What I would like is for the field to be added, right-aligned, on a line by itself, with the font, size and weight I've configured.</p>
  
  <p>What am I doing wrong?</p>