View Single Post
 
Old 04-17-2014, 05:24 AM
macropod's Avatar
macropod macropod is offline Windows 7 32bit Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 21,963
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Basically, those lines would replace your entire foreach loop. I'm not a C# programmer, but it seems to me your code could be reduced to:
Code:
Private void btnExportWord_Click_1(Object sender, EventArgs e)
{
  Object oMissing = Missing.Value;
  Word.Application oWord = New Word.Application();
  Word.Document oWordDoc = New Word.Document();
  oWord.Visible = false;
  oWordDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
  Object oTemplatePath = @"C:\test\MyXMLTemplate.dotx";
  oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);
  For (int i = 0; i < treeViewXMLFiles.Nodes[0].Nodes.Count; i++)
  {
    oWord.Characters.Last.InsertParagraphAfter;
    oWord.Characters.Last.InsertAfter treeViewXMLFiles.Nodes[0].Nodes[i].Text;
    oWord.Characters.Last.InsertParagraphAfter;
    oWord.Characters.Last.InsertAfter treeViewXMLFiles.Nodes[0].Nodes[i].Nodes[0].Text;
    oWord.Characters.Last.InsertParagraphAfter;
    oWord.Characters.Last.InsertAfter treeViewXMLFiles.Nodes[0].Nodes[i].Nodes[1].Text;
    oWord.Characters.Last.InsertParagraphAfter;
    oWord.Characters.Last.InsertAfter treeViewXMLFiles.Nodes[0].Nodes[i].Nodes[2].Text; 
    oWord.Characters.Last.InsertParagraphAfter;
  }
  Object oSaveAsFile = (Object)@"C:\test\FINISHED_XML_Template.doc";
  oWordDoc.SaveAs(ref oSaveAsFile, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
  oWordDoc.Close(False, ref oMissing, ref oMissing);
  oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
}
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote