Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1140to1144
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel nach Word

Excel nach Word
Hendryk
Hallo Excel Freunde,
ich versuch jämmerlich aus Excel heraus ein Word Dokument per VBA zu erstellen, das funktioniert auch soweit. Jedoch scheitere ich beim Versuch die Kopfzeile in Word zu kreieren. Weiß jemand Rat?
Vielen Dank und Viele Grüße aus Bonn
Hendryk
Hier noch mein bisheriger Code:
Sub ExcelnachWord()
Dim WordObj As Object
Dim Worddoc As Object
Dim Kopfzeile As Object
Dim i As Integer
On Error Resume Next
Set WordObj = GetObject(, "Word.Application.11")
If Err.Number = 429 Then
Set WordObj = CreateObject("Word.application.11")
Err.Number = 0
End If
WordObj.Visible = True
Set Worddoc = WordObj.Documents.Add
With WordObj.Selection
Set Kopfzeile = WordObj.Sections(1).Headers(wdHeaderFooterPrimary).Range
Kopfzeile.Text = "Hallo Welt"
.TypeText Text:="Hallo" & vbCrLf
.TypeParagraph
.TypeText Text:="Hallo_1" & vbCrLf
End With
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Excel nach Word
25.02.2010 10:13:02
xr8k2
Hallo Hendryk,
du musst entweder in deiner Mappe einen Verweis auf die Microsoft Word Bibliothek setzen oder du gibst den .Headers Parameter numerisch an:
Set Kopfzeile = WordObj.Sections(1).Headers(1).Range
Gruß,
xr8k2
AW: Excel nach Word
25.02.2010 10:38:01
Hendryk
Hallo xr8k2,
irgendwie funktioniert es nicht, die Kopfzeile bleibt in Word leer :(
Den Verweis auf die Word Bibliothek habe ich gesetzt und die zweite Variante habe ich auch ausprobiert.
Leider beides ohne Erfolg.
Gruß,
hendryk
AW: Excel nach Word
25.02.2010 10:50:55
xr8k2
Hallo Hendryk,
habs jetzt grad doch mal ausprobiert ... du hast das falsche Objekt für die Kopfzeile angegeben
so müsste es gehen:

Set Kopfzeile = Worddoc.Sections(1).Headers(1).Range
Gruß,
xr8k2
PS: So ein Error Resume Next bewirkt eben auch manchmal das man ungewollte Fehler nicht mehr entdeckt ;-)
Anzeige
AW: Excel nach Word
25.02.2010 10:57:56
Hendryk
Ahh super, ich bin begeistert, vielen lieben Dank.
Grüße
Hendryk
AW: Excel nach Word-Kopftext
25.02.2010 11:19:15
fcs
Hallo Hendryk,
auch unter Excel sollte man die Objekte des Worddokuments als das deklarieren was sie sind und nicht "nur" as Object deklarieren. Man tut sich dann ggf. etwas leichter mit der Syntax der VBA-Prozeduren.
Gruß
Franz
Das folgende Beispiel baut den Kopftext aus mehreren Teilen zusammen inkl. Feldern für Seitennummerierung.
Sub ExcelnachWord()
'Verweis auf Microsoft Word x.y Object Library muss gesetzt sein
Dim WordObj As Object
Dim Worddoc As Word.Document
Dim Kopfzeile As Word.HeaderFooter
Dim wdRange As Word.Range
Dim i As Integer
On Error Resume Next
Set WordObj = GetObject(, "Word.Application.11")
If Err.Number = 429 Then
Set WordObj = CreateObject("Word.application.11")
Err.Number = 0
End If
WordObj.Visible = True
Set Worddoc = WordObj.Documents.Add
Set Kopfzeile = Worddoc.Sections(1).Headers(wdHeaderFooterPrimary)
Kopfzeile.Range.Text = "Hallo Welt" & vbTab & vbTab & "Seite "
Set wdRange = Kopfzeile.Range.Characters(Len(Kopfzeile.Range.Text))
wdRange.Fields.Add Range:=wdRange, Type:=wdFieldEmpty, Text:= _
"PAGE  \* Arabic ", PreserveFormatting:=True
Set wdRange = Kopfzeile.Range.Characters(Len(Kopfzeile.Range.Text))
wdRange.Text = " von "
Set wdRange = Kopfzeile.Range.Characters(Len(Kopfzeile.Range.Text))
wdRange.Fields.Add Range:=wdRange, Type:=wdFieldEmpty, Text:= _
"NUMPAGES  \* Arabic ", PreserveFormatting:=True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige