2013-07-18 2 views
0

У меня возникла странная проблема в Word Document-2007. Я создал шаблон Word Document, и я создаю узлы XML для этого шаблона для печати повторяющихся данных, потому что я держу все узлы XML в Word Document с помощью вкладки разработчика, он работает нормально. Поскольку этот шаблон создает более 6 страниц, моему клиенту необходимо показать раздел заголовка и нижнего колонтитула. Я помещаю узел XML в раздел «Часть заголовка», но он не будет печатать это значение узла. Если поставить статический текст в разделе заголовка, он должен отображаться динамически, но это не так. Почему это?.Почему я не могу добавить узел xml в разделы заголовка и нижнего колонтитула в Word Document 2007?

Редактировать

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.Than я добавил эти пользовательские узлы в шаблоне документа Word, используя Developr тег -> добавить схему -> выберите файл 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 
    
+0

Не могли бы вы добавить получившийся документ слова ** и ** код вы использовали для его генерации? Я действительно не понимаю, чего вы хотите. Я думаю, вы используете макросы, поскольку вы говорите о ** вкладке разработки ** – edi9999

+0

Привет, edi, большое вам спасибо за повтор и я сожалею о позднем ответе, потому что я был в отпуске по болезни .., на самом деле у меня есть пользовательские узлы xml с использованием VB.net, а затем добавьте эти узлы xml в шаблон документа Word. После добавления тех, у кого есть привязка, данные находят узел xml и распечатывают данные. Я обновил свой код, пожалуйста, проверьте его один раз. –

+0

Я не знаю, как использовать вкладку разработчика Word, и я не могу дублировать вашу проблему. – edi9999

ответ

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 
+0

Hi Bluefeet на самом деле у меня есть сообщение для моего собственного вопроса, поэтому я отправляю сообщение с благодарностью ... –

+0

Я бы предложил вернуться и принять этот ответ, когда система позволит вам это сделать! – Taryn

+0

Как это возможно, он принял мой голос за свой собственный ответ ...! я удивляюсь .. в любом случае Спасибо .. –