0

我在 Word Document-2007 中遇到了奇怪的问题。我创建了一个 Word 文档模板,并为该模板创建了 XML 节点以打印重复数据,为此我使用开发人员选项卡将所有 XML 节点保留在 Word 文档上,它工作正常。因为该模板创建了 6 个以上的页面,所以我的客户需要显示页眉和页脚部分。我将 XML 节点放在 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.比我使用开发者标签在Word文档模板中添加这些自定义节点->添加模式->选择XSD文件,然后将节点放在模板上。

  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
    
4

1 回答 1

0

谢谢大家给我的答复..无论如何我终于解决了我的问题...谢谢。

在这里,我放弃了解决方案...

        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
于 2013-08-27T12:48:59.443 回答