Clever-Excel-Forum

Normale Version: VBA Kopieren von Excel in Word inkl. Header/Footer
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Ihr Lieben,

ich habe einen VBA-Code, mit dem ich meine Excel-Seite sehr einfach in ein Word-Sheet umwandeln kann.
Meine Excel-Seite ist dafür auch schon als DINA4 seite formatiert und hat Seitenränder von ca. 1,5 cm.
Mein Problem ist nun, dass die Kopf- und Fußleisten nicht mit übernommen werden, bzw nicht im Range enthalten sind
Sheets("Convert to Word").UsedRange.Copy

Habt Ihr eine Idee, wir man sicherstellen kann dass auch die Kopf- und Fußleisten übernommen werden, da die Zeilenbeschriftung ja erst danach anfängt.
Sonst etwas in die Richtung: With.....Sheet("Convert to Word").LeftHeader = docWord.LeftHeader"?
Ich probiere es schon den ganzen Tag, finde aber leider keine Lösung Vielleicht hat ja jemand von euch einen Tip für mich!

Viele Grüße, Lou
Hallöchen,

wie Du die Info's aus Excel raus bekommst, weißt Du? Copy geht da nicht, da musst Du die Inhalte einzeln auslesen.
Wenn diese wiederum in die Kopf- und Fußzeilen von Word kommen sollen, hier mal ein Beispiel. Du musst dann natürlich statt der festen Inhalte die von Excel übernehmen.
Alles wirst Du eventuell nicht so einfach rüber bekommen, z.B. Wiederholungszeilen.

Zitat:Sub TestHeaderFooter()
With ActiveDocument.Sections(1)
.Headers(wdHeaderFooterPrimary).Range.Text = "Hallo" & vbTab & "Welt" & vbTab & Date
.Footers(wdHeaderFooterPrimary).Range.Text = "... und Tschuess"
.Footers(wdHeaderFooterPrimary).PageNumbers.Add
End With
End Sub
Hallo,

da Tabelle, header und footer 3 Elemente sind, warum diese nicht nacheinander kopieren?

mfg

http://www.vbaexpress.com/forum/showthre...der-Footer&s=ba459ab54bcf1697809469866892105d
Hallöchen,

Zitat:da Tabelle, header und footer 3 Elemente sind, warum diese nicht nacheinander kopieren?

das würde mich aber jetzt auch interessieren. Ich bin immer noch der Überzeugung, dass man die Kopf- und Fußzeilen auslesen müsste und nicht einfach kopieren kann.
eine Lösung aus Kanada:

Code:
Sub PasteToWord()
Dim AppWord As Object, oHF As Object
Dim rHeader As Object, FtStr As String
On Error GoTo erfix
Set AppWord = CreateObject("Word.Application")
AppWord.Visible = True
Sheets("Convert").UsedRange.Copy
AppWord.Documents.Add
AppWord.Selection.Paste
Application.CutCopyMode = False
'footer
FtStr = CStr([Convert!A1]) & vbTab & vbTab & Format(Now(), "mmm d yyyy") _
& "  " & Format(Now(), "hh:mm:ss AMPM") 'footer stuff here
AppWord.ActiveDocument.Sections(1).Footers(1).Range.Text = FtStr
AppWord.ActiveDocument.Sections(1).PageSetup. _
   DifferentFirstPageHeaderFooter = False
'header
Set oHF = AppWord.ActiveDocument.Sections(1).Headers(1)
   With oHF
      .LinkToPrevious = False
      Set rHeader = oHF.Range
      With rHeader
         .Text = CStr([Convert!A2]) 'header stuff here
         .Collapse Direction:=0
         .Fields.Add Range:=rHeader
      End With
   End With
Set rHeader = Nothing
Set oHF = Nothing

'set print preview for headers
AppWord.ActiveDocument.ActiveWindow.View.Type = 3
AppWord.ActiveDocument.ActiveWindow.View.Zoom.Percentage = 100
Exit Sub
erfix:
On Error GoTo 0
MsgBox "File error"
AppWord.Quit
Set AppWord = Nothing
End Sub

aus dem oben genannten link
Hallöchen,

ist vielleicht schon etwas spät, aber ich sehe da nicht, wie Header und Footer von Excel kopiert und in Word eingefügt wird Sad
Der Header wird, wie bei mir im Prinzip auch, aus einzelnen Daten generiert und der Footer holt sich was aus dem Excelblatt, Zelle A2. Kopf- und Fußzeile von Excel werden nicht angefasst.