Solved

C# Word Header / Footer, using a table

Posted on 2009-04-08
1
2,614 Views
Last Modified: 2012-05-06
I'm creating a dynamic word document, in which I am adding headers & footers. I have ran into an issue where I need to add page numbers on the left of my footer, and a disclaimer on the right of my footer. I figured the best way to do this would be to add a table to my footer, and separate the text with cells. Though I can't get it to work.

The code I added to the Code section is what I have tried so far.
Though after adding text to oTableFooter, its just being added to the body, not the footer.

All help is greatly appreciated.
Thanks!
Mike
Microsoft.Office.Interop.Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

oDoc.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageFooter;

Microsoft.Office.Interop.Word.Table oTableFooter = oDoc.ActiveWindow.Selection.Tables.Add(wrdRng, 1, 2, ref oMissing, ref oMissing);

Open in new window

0
Comment
Question by:jouwstrm
1 Comment
 
LVL 3

Accepted Solution

by:
jouwstrm earned 0 total points
Comment Utility
I think I just figured it out myself.

I resulted to just writing tabs to my footer, to try and space the text out... though it appears when you add tabs, it'll automatically assume you want the text in the left, center or right side of the page.

The following code snippet will add page numbers to the left side of each footer page, the date the document was created in the center of each footer page, and disclaimer text on the right of each footer page.

It is relative to how the text is aligned though. Aligning the text to the right, the first text you write to the footer will show up on the right. After doing one tab, the next text will be in the center.

Hope this helps anyone else having the same problem.
oDoc.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekCurrentPageFooter;

                    oDoc.ActiveWindow.ActivePane.Selection.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;

oDoc.ActiveWindow.Selection.Font.Name = "Times New Roman";

oDoc.ActiveWindow.Selection.Font.Size = 10;

oDoc.ActiveWindow.Selection.TypeText("Page ");

Object CurrentPage = Microsoft.Office.Interop.Word.WdFieldType.wdFieldPage;

                    oDoc.ActiveWindow.Selection.Fields.Add(oDoc.ActiveWindow.Selection.Range, ref CurrentPage, ref oMissing, ref oMissing);

oDoc.ActiveWindow.Selection.TypeText(" of ");

Object TotalPages = Microsoft.Office.Interop.Word.WdFieldType.wdFieldNumPages;

                    oDoc.ActiveWindow.Selection.Fields.Add(oDoc.ActiveWindow.Selection.Range, ref TotalPages, ref oMissing, ref oMissing);

oDoc.ActiveWindow.Selection.TypeText("\t");
 

string dt = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();

oDoc.ActiveWindow.Selection.TypeText(dt);

oDoc.ActiveWindow.Selection.TypeText("\t");

oDoc.ActiveWindow.Selection.TypeText("Disclaimer...");

Open in new window

0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now