2010-08-03 8 views

Antwort

4

Ich bin nur zufällig auf Code zu arbeiten, wo ich von C# in Excel tun dies bereits ... Dies ist teilweise, und werden Sie dort begonnen ...

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

Es gibt mehr Code als Sie brauchen für diese spezielle Aufgabe, aber die entsprechenden Zeilen für einen Header (oder etwas, das am oberen Rand jeder Seite wiederholt) sind:

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

Bearbeiten - Hinzugefügt

Hier finden Sie einen Link zur MSDN-Dokumentation für all Ihre Office Interop-Anforderungen.

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

6

der Hoffnung, diese bekommt man begonnen. Der folgende Pseudo-C# -Code kann zum Hinzufügen von Text zur Fußzeile verwendet werden. Nur Sie müssen dies in einem Makro tun, um dies vollständig zu automatisieren und den hinzuzufügenden Dokumentnamen zu identifizieren. Rufen Sie schließlich während des Speicherns von Dokumenten das Makro auf, um den Fußzeilentext hinzuzufügen.

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

Cool! Ich wusste nicht, wie ich es in Word machen sollte, aber das war, weil ich es noch nie getan hatte. Ich bookmarken diese Seite für Ihre Antwort, weil ich weiß, dass ich es später brauche. +1. – David