Wie über Excel-Makro in vorhandenem Word Doc Tabelle erstellen?

Lily_Lind

Newbie
Registriert
Aug. 2013
Beiträge
1
Hallo,

habe schon im Forum gesucht, finde aber nichts was mir wirklich weiterhelfen kann.
ich habe folgendes Problem.
Ich bin noch VBA-Anfänger möchte aber gerne folgendes programmieren:

Bei Aufruf des Makros über Excel soll in ein vorhandenes Word Dokument zuerst ein mehrzeiliger, immer gleich bleibender Text geschrieben werden (das klappt auch). Und danach soll unter diesem Text eine Tabelle erstellt werden, in deren Zellen teilweise direkt ein Text eingetragen wird, aber auch teilweise Zellen aus Excel "Tabelle1" übernommen werden sollen. Bin ziemlich ratlos wie ich das machen soll.

Hier mein Code:

------------------------------------------------------------

Sub Arbeitsauftrag()

Dim AppWord As Object
Set AppWord = CreateObject("Word.Application")

Dim StndText As String: StndText = "Zeile1"
Dim StndText2 As String: StndText2 = "Zeile1"
Dim StndText3 As String: StndText3 = "Zeile2"
Dim StndText4 As String: StndText4 = "Zeile2"
Dim StndText5 As String: StndText5 = "A R B E I T S A U F T R A G"

With AppWord ' *** ab jetzt "Word- VBA"
.Visible = True
.Activate
.Documents.Open "D:\Arbeitsaufträge\Arbeitsauftrag.doc"
.Selection.Font.Bold = True
.Selection.Font.Size = 19

.Selection.TypeText StndText

.Selection.Font.Bold = False
.Selection.Font.Size = 16

.Selection.TypeText StndText2

.Selection.TypeParagraph
.Selection.TypeText StndText3

.Selection.TypeParagraph
.Selection.TypeText StndText4

.Selection.Font.Bold = True
.Selection.Font.Size = 40

.Selection.TypeParagraph
.Selection.TypeText StndText5

--> Hier soll Tabelle erstellt werden

.ActiveDocument.SaveAs "D:\Arbeitsaufträge\Arbeitsauftrag.doc"
.Quit ' Word beenden
End With ' *** ab jetzt wieder EXCEL- VBA

Set AppWord = Nothing

End Sub

----------------------------------------------------------------------------------

Kann mir vielleicht jemand sagen wie ich so eine Tabelle an der gewünschten Stelle am besten erstellen kann?

Vielen Dank im Voraus!
 
Hmtja, so in Gänze habe ich das von XL aus in Word nicht gemacht, aber ich kann dir immerhin ein paar Word-VBA-Befehle zum Erzeugen, Ergänzen und Füllen einer Tabelle geben:
Code:
Dim Tabelle As Table 'müsste ich sehen ob das speziell als Word-Tabelle geDIMt werden muss
'1 Zeile, 2 Spalten
Set Tabelle = ActiveDocument.Tables.Add(Selection.Range, 1, 2)
'Beispiel für Spaltenbreiten, Höhe geht analog
Tabelle.Columns(1).Cells.SetWidth ColumnWidth:=CentimetersToPoints(3.01), RulerStyle:=wdAdjustNone
Tabelle.Columns(2).Cells.SetWidth ColumnWidth:=CentimetersToPoints(13.71), RulerStyle:=wdAdjustNone
'Die Zellen befüllen
Tabelle.Cell(1, 1).Range.InsertAfter "Inahlt"
Tabelle.Cell(1, 2).Range.InsertAfter "Inhalt"
'Und nue eine neue Zeile
Tabelle.Rows.Add
'mit ein wenig Inhalt
X=0 'einfach mal so
Tabelle.Cell(X + 1, 1).Range.InsertAfter "Inhalt"
'Und noch ein bisschen Format
With Tabelle.Cell(X + 1, 2).Range.Font
 .Name = "Arial" 'oder welche auch immer
 .Size = 12
'Tabelle Sortieren (aufsteigend, ohne Überschrift)
Tabelle.Sort ExcludeHeader:=True, FieldNumber:=1, SortFieldType:=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending
Ich hoffe, das reicht um um die Tabelle einbauen und nach Wunsch auffüllen zu können. Statt der Strings "Inhalt" kann ja kommen was gewünscht ist.

CN8
 
Zurück
Oben