Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Kopieren von Excel in Word inkl. Header/Footer
#1
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
Antworten Top
#2
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
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
Antworten Top
#4
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
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
Antworten Top
#6
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste