以编程方式将页脚添加到Office Word / Excel文档

时间:2010-08-03 15:23:07

标签: .net ms-word ms-office document footer

我正在寻找与此类似的解决方案: http://esqinc.com/section/products/4/idocid.html

系统所做的是将文档文件名插入文档页脚。如何以编程方式(最好是在.NET中)?

2 个答案:

答案 0 :(得分:6)

希望这能让你开始。以下伪c#代码可用于向页脚添加文本。只有您必须在宏中执行此操作才能完全自动执行此操作,并确定要添加的文档名称。最后在文档保存期间调用宏以添加页脚文本。

foreach ( Section wordSection in wordDoc.Sections )
{
  HeaderFooter footer = wordSection.Footers[ Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary ];
  footer.Range.Select( );
  footer.Range.Text = footerTxt;
  hf.Range.Font.Size = 10;
  wordApp.Selection.Paragraphs[ 1 ].Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
  wordApp.Selection.Paragraphs[ 1 ].SpaceAfter = 0;
}

答案 1 :(得分:4)

我刚刚正在编写代码,我已经在C#中用Excel做了这个......这是部分的,会让你开始...

Microsoft.Office.Interop.Excel.Application excelapp = new Microsoft.Office.Interop.Excel.Application();
excelapp.Visible = true;
Microsoft.Office.Interop.Excel._Workbook book = (Microsoft.Office.Interop.Excel._Workbook)excelapp.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); ;
Microsoft.Office.Interop.Excel._Worksheet sheet = (Microsoft.Office.Interop.Excel._Worksheet)book.ActiveSheet;


sheet.get_Range("A1", "N999").Font.Size = "8";
sheet.PageSetup.PaperSize = Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperLegal;
sheet.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape;
sheet.PageSetup.PrintTitleRows = "$3:$5";
sheet.PageSetup.PrintTitleColumns = "$A:$B";

这个特定任务需要的代码比你需要的代码多,但是有一个标题(或者在每个页面顶部重复的东西)的相关行是:

sheet.PageSetup.PrintTitleRows = "$3:$5";
sheet.PageSetup.PrintTitleColumns = "$A:$B";

修改 - 添加

以下是MSDN文档的链接,可满足您的所有Office Interop需求。

http://msdn.microsoft.com/en-us/library/bb209015(office.12).aspx