2010-08-03 10 views

Respuesta

4

Me acaba de pasar a estar trabajando en código donde ya lo hago esto en Excel desde C# ... Este es parcial, y le ayudará a empezar ...

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"; 

Hay más de código que hay de lo que necesita para esta tarea específica, pero las líneas relevantes para tener un encabezado (o algo que se repite en la parte superior de cada página) son:

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

Editar - se ha añadido

Aquí hay un enlace a la documentación de MSDN, para todas sus necesidades de Office Interop.

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

6

esperando que esto le ayudará a comenzar. El siguiente código pseudo C# se puede usar para agregar texto al pie de página. Solo tendrá que hacer esto en una macro para automatizar completamente esto y también identificar el nombre del documento que se agregará. Finalmente, llame a la macro durante el Guardar documento para agregar el texto del pie de página.

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

¡Genial! No sabía cómo hacerlo en Word, pero eso es porque nunca tuve que hacerlo. Estoy marcando esta página para su respuesta, porque sé que la necesitaré más adelante. +1. – David

Cuestiones relacionadas