在Microsoft.Office.Interop.Word标头中添加多个项目

时间:2018-07-09 10:18:41

标签: c# ms-word ms-office office-interop

因此,在使用Microsoft.Office.Interop.Word自动生成字母时,我遇到的问题是标题部分。每当我运行下面的代码时,它都会替换所有页面标头中的第一个Item,而不是在不同行的所有页面标头中都包含客户端名称和客户端地址,我只获得客户端地址

foreach (Section section in document.Sections)
                {
                    //Get the header range and add the header details.
                    var headerRange = section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
                    var headerRange1 = section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;

                    headerRange.Fields.Add(headerRange, WdFieldType.wdFieldPage);
                    headerRange1.Fields.Add(headerRange, WdFieldType.wdFieldPage);

                    headerRange.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
                    headerRange1.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;

                    headerRange.Font.ColorIndex = WdColorIndex.wdBlack;
                    headerRange1.Font.ColorIndex = WdColorIndex.wdBlack;

                    headerRange.Font.Size = 12;
                    headerRange1.Font.Size = 12;

                    headerRange.Font.Name = "Arial";
                    headerRange1.Font.Name = "Arial";

                    headerRange.Font.Bold = 1;
                    headerRange1.Font.Bold = 1;

                    headerRange.Text =  ClientNameBox.Text;
                    headerRange.InsertParagraphAfter();
                    headerRange1.Text = ClientsAddressBox.Text;


                    headerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    headerRange1.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;

                }

1 个答案:

答案 0 :(得分:0)

将范围想象为一个不可见的选择:如果在选择内容时键入内容,则键入的内容将替换选择的内容。因此,如果您向具有内容的范围分配某些内容,则分配的内容将替换内容。不必将相同的内容分配给两个单独的Range对象-因为它们都包含相同的起点和终点,所以改变一个会改变另一个。

使用范围和选择的技巧是“折叠”它。对于选择,请按箭头键。对于“范围”,有一种“折叠”方法,您可以在其中指定方向:指向起点或终点。

style.xml