Ms word 为什么可以';我是否在Word Document 2007的页眉和页脚部分添加一个xml节点?
我在Word文档-2007中遇到了一个奇怪的问题。我已经创建了一个Word文档模板,并为该模板创建了XML节点以打印重复数据,因此我使用“开发人员”选项卡保留Word文档上的所有XML节点,它工作正常。因为该模板创建了6个以上的页面,所以我的客户机需要显示页眉和页脚部分。我将XML节点放在Header部分部分,但它不会打印该节点值。若我把静态文本放在标题部分,它应该动态显示,但它并没有。这是为什么 编辑Ms word 为什么可以';我是否在Word Document 2007的页眉和页脚部分添加一个xml节点?,ms-word,docx,xmlnodelist,Ms Word,Docx,Xmlnodelist,我在Word文档-2007中遇到了一个奇怪的问题。我已经创建了一个Word文档模板,并为该模板创建了XML节点以打印重复数据,因此我使用“开发人员”选项卡保留Word文档上的所有XML节点,它工作正常。因为该模板创建了6个以上的页面,所以我的客户机需要显示页眉和页脚部分。我将XML节点放在Header部分部分,但它不会打印该节点值。若我把静态文本放在标题部分,它应该动态显示,但它并没有。这是为什么 编辑 1 . I have create custom xmlnodes like below
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>
1。我已经创建了如下自定义xmlnodes
当我保存文件时,它会保存Customnode.xsd
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>
2.然后,我在Word文档模板中使用Developr标记-->添加架构-->选择XSD文件添加了这些自定义节点,然后将这些节点放置在模板上
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 Traveler作为对象
作为对象的Dim Travelerdoc
Dim myxmlnode作为对象
Traveler=CreateObject(“Word.Application”)
Travelerdoc=Traveler.Documents.Add(“Documentpath/WordDocument.doc”)
对于Travelerdoc.XMLNodes中的每个myxmlnode
如果myxmlnode.BaseName=“Cfield1”,则myxmlnode.Range.Text=“你好”
如果myxmlnode.BaseName=“Cfield2”,则myxmlnode.Range.Text=“Word文档”
如果(totalrecords感谢大家给我的回复……无论如何,我终于解决了我的问题……谢谢
在这里我休耕解决方案
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
您能添加生成的word文档和用于生成它的代码吗?我真的没有得到您想要的。我想您使用的是宏,正如您所说的Developer tabHi edi,非常感谢您的重播,我很抱歉因为我请了病假而没有及时回复。实际上,我已经使用VB.net创建了自定义xml节点,然后添加了将这些xml节点添加到word文档模板。添加这些节点后,我已绑定数据,找到xml节点并打印数据。我更新了代码,请检查一下。我不知道如何使用word的“开发”选项卡,并且无法复制您的问题Hi Bluefeet事实上我已经发布了我自己的问题,这就是为什么我会像“谢谢”消息一样发布…我当系统允许你这么做时,我建议你回来接受这个答案!怎么可能,它接受了我对自己答案的投票…!我想知道..无论如何谢谢。。