为什么无法将 xml 节点添加到 Word 文档 2007 中的页眉和页脚部分?



我在Word Document-2007中遇到了一个奇怪的问题。我已经创建了一个Word文档模板,并为该模板创建XML节点以打印重复数据,为此,我使用开发人员选项卡保留了Word文档上的所有XML节点,它运行良好。因为该模板创建了6个以上的页面,所以我的客户需要显示页眉和页脚部分。我将XML节点放在Header部分,但它不会打印该节点值。如果我把静态文本放在Header部分,它应该动态显示,但它没有。为什么会这样?。

编辑

1 . I have create custom xmlnodes like below 
      <?xml version="1.0" encoding="utf-8"?>
       <xs:schema id="WorkOrders" elementFormDefault="qualified" 
        xmlns="http://tempuri.org/XSDSchema1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
        <xs:element name="Cfield1" type="xs:string" />
        <xs:element name="Cfield2" type="xs:string" />
    </xs:schema>

当我保存文件时,它会保存Customnode.xsd

2.然后,我使用Developr标记-->添加架构-->选择XSD文件,然后将节点放在模板上,将这些自定义节点添加到Word文档模板中。

  1. 现在,我已经使用vb.net绑定了数据,如下所示。

    Dim Traveler As Object
    Dim Travelerdoc As Object
    Dim myxmlnode As Object
     Traveler = CreateObject("Word.Application")
     Travelerdoc = Traveler.Documents.Add("Documentpath/WordDocument.doc")
    For Each myxmlnode In Travelerdoc.XMLNodes
      If myxmlnode.BaseName = "Cfield1" Then myxmlnode.Range.Text ="Hello"
      If myxmlnode.BaseName = "Cfield2" Then myxmlnode.Range.Text = "Word Document"
      if(totalrecords<=5)
      myxmlnode.Range.Select()
      Travelerdoc.ActiveWindow.Selection.InsertRowsBelow()
       End If
    Next
    

感谢大家回复我。。不管怎样,我终于解决了我的问题。。。谢谢

在这里我找到了解决方案。。。

        Dim rng As Microsoft.Office.Interop.Word.Range
        Dim doc As Microsoft.Office.Interop.Word.Document
        Dim headertext As String
        For Each wordSection As Microsoft.Office.Interop.Word.Section In Travelerdoc.Sections
       rng = wordSection.Headers(Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary).Range
       rng.Font.Size = 14
            rng.InsertAfter(vbTab & vbTab & "WO : " & ds.Tables(0).Rows(0).Item("wo").ToString())
          Next

相关内容

  • 没有找到相关文章

最新更新