ich habe da ein Problem. Mit dem Öffnen von DocA startet ein VBA Skript, dass die Kopfzeile von DocA mit dem Inhalt von DocB füllen soll. Wenn in der Kopfzeile jedoch schon was steht, soll dies erst gelöscht und dann durch DocB ersetzt werden.
Zur Info: DocB hat ein Seitenlayout von der Größe der ‚normalen‘ Kopfzeile
Die Kopfzeilen sollen auf allen Seiten von DocA gleich sein.
am einfachsten ist immer, das Gewünschte selber aufzuzeichnen und sich dann den aufgezeichneten Code mal anzuschauen.
Unter Word 2007 sieht das dann so aus:
Sub Makro1()
Windows(„DocB.docx“).Activate
Selection.WholeStory
Selection.Copy
Windows(„DocA.docx“).Activate
If ActiveWindow.View.SplitSpecial wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.WholeStory
Selection.Paste
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
Da Du nicht schreibst, mit welchem Word Du arbeitest, musst Du Dir die Aufzeichnung für eine andere Word-Version wohl selbst erstellen.
es ehrt mich, als Expert von dir ausgewählt zu sein. Bitte nehm es mir nicht übel, wenn ich dir im Moment nicht weiterhelfen kann. Bin Beruflich zu sehr im Streß. Ich hoffe, dass Dir jemand bei deinem Problem weiterhelfen kann.
Danke für Eure Hilfe. Habe eine Lösung zu meinem Problem gefunden und will sie hier auch posten…für den Fall, dass jemand von Euch mal vor dem gleichen Problem steht.
Hier also der Code
With ActiveDocument.Sections(1).Headers(1)
.Range.Delete
.Range.Select
End With
With Selection
.Font.Size = 1
.InlineShapes.AddOLEObject FileName:=file1, LinkToFile:=True
End With
With ActiveDocument.Sections(1).Footers(1)
.Range.Delete
.Range.Select
End With
With Selection
.Font.Size = 1
.InlineShapes.AddOLEObject FileName:=file2, LinkToFile:=True
End With