Hallo,
mit diesem Code funktioniert das Einfügen und Formatieren ans Ende des Dokuments:
Const wrdDocPath = "Y:\Test.docx"
Sub Uebertragung()
Dim wrdApp As New Word.Application
Dim par As Word.Paragraph
Dim rng As Word.Range
Dim wrdDoc As Word.Document
Set wrdDoc = wrdApp.Documents.Open(wrdDocPath) ' wrdApp.Documents.Add
wrdApp.Visible = True ' Nur für Testzwecke
wrdApp.Activate ' Nur für Testzwecke
With wrdDoc
Set par1 = .Range(.Range.End - 1).Paragraphs.Add
Set par2 = .Range(.Range.End - 1).Paragraphs.Add
Set par2 = .Range(.Range.End - 1).Paragraphs.Add
Set rng = par1.Range
rng.Text = Tabelle1.Range("A18")
rng.Font.Name = "Arial"
rng.Font.Size = 12
rng.Bold = True
rng.Font.Underline = wdUnderlineSingle
Set rng = Nothing
Set rng = par2.Range
rng.Text = Tabelle1.Range("B18")
rng.Font.Name = "Arial"
rng.Font.Size = 8
End With
wrdDoc.Save
wrdDoc.Close
wrdApp.Quit
End Sub
Vorraussetzung: Es muss ein Verweis im VBA-Editor gesetztz werden: Microsoft Word XX Library
Im Code ist die Zeile
Set par2 = .Range(.Range.End - 1).Paragraphs.Add
bewußt doppelt eingefügt worden.
Wenn diese nur einfach vorhanden ist, wird nur ein Absatz eingefügt, wobei sich die Inhalte entsprechend überschreiben.
Vielleicht kann mir ja jemand erklären, warum das seltsame Verhalten so ist?
Falls das zu öffnende Word-Dokument bereits geöffnet sein sollte, wird ein Dialogbox angezeigt, in der abgefragt wird, wie das Dokument geöffnet werden soll. Die Dialogbox wird allerdings im Hintergrund angezeigt.
LG, BigBen
|