Fusszeile in Exceltabellen einfuegen

15/11/2007 - 14:46 von Curt Balluff | Report spam
Hallo NG
ich sitze wieder vor einem Problem.
Ich habe einen Ordner mit ca. 500 Excel-Arbeitsmappen. Jede
Arbeitsmappe enthàlt 2-3 Tabellenblàtter.
Auf dem Tabellenblatt1 ist in der Fußzeile der Dateiname eingetragen
Diese Angabe fehlt auf Tabellenblatt 2 (und 3).
Nun sollen bei allen Tabellenblàttern aller Arbeitsmappen in dem
Verzeichnis nachtràglich die Dateinamen in der Fußzeile eingefügt
werden.
Hat mir jemand einen Tipp, wie ich da vorgehen kann?
Ich freue mich über jeden Hinweis oder Link.
Curt
 

Lesen sie die antworten

#1 ekkehard.horner
15/11/2007 - 18:23 | Warnen spam
Curt Balluff schrieb:
Hallo NG
ich sitze wieder vor einem Problem.
Ich habe einen Ordner mit ca. 500 Excel-Arbeitsmappen. Jede
Arbeitsmappe enthàlt 2-3 Tabellenblàtter.
Auf dem Tabellenblatt1 ist in der Fußzeile der Dateiname eingetragen
Diese Angabe fehlt auf Tabellenblatt 2 (und 3).
Nun sollen bei allen Tabellenblàttern aller Arbeitsmappen in dem
Verzeichnis nachtràglich die Dateinamen in der Fußzeile eingefügt
werden.
Hat mir jemand einen Tipp, wie ich da vorgehen kann?
Ich freue mich über jeden Hinweis oder Link.
Curt




(1) In Excel mit dem Macrorecorder das Setzen einer Fusszeile aufzeichnen.

(2) Den erzeugten Code auf eine Sub reduzieren; das könnte etwa (nicht
getestet) so aussehen:

Sub setFooter( oSheet, sLText, sCText, sRText )
With oSheet.PageSetup
.LeftFooter = sLText
...
End With
End Sub

(3) Eine Sub für alle Sheets eines Workbooks schreiben

Sub setAllFooters( oWBook )
Dim oSheet
For Each oSheet In oWBook.Sheets
setFooter oSheet, "Datei", oWBook.FullName, ""
Next
End Sub

(4) Entscheiden, ob das Hauptprogramm in Excel oder VBScript geschrieben
werden soll.

(5) Für VBScript (Pseudocode):

Set oExcel = CreateObject( "Excel.Application" )
For Each oFile In oFS.GetFolder( <Dir> ).Files
If <FileIsXls> Then
Set oWBook = oExcel.Workbooks.Open( oFile.Path )
setAllFooters oWBook
oWBook.Save
oWBook.Close
End If
Next
oExcel.Quit

Ähnliche fragen