Hallo zusammen,
ich möchte aus MSAcess (MSAccess 2016) heraus eine Word-Datei erstellen, die aus verschiedenen Kaptieln mit Textpassagen diversen
Tabellen, die ich später aus der Datenbank befülle. Zu diesen Kapiteln soll auf der ersten Seite ein Inhaltsverzeichnis erstellt werden.
Die grobe Struktur bekomme ich technisch schon hin.
Im Moment habe ich das Problem, daß die Tabelle, die ich eingebaut habe nicht an der korrekten Stelle eingebaut wird, sondern an das Ende
der Datei.
Vielleicht weiß jemand was ich da falsch mache (Die Tabelle sollte eigentlich zwischen den beiden Textpassagen in Kapitel 1.1 eingefügt werden).
Hier mein Quellcode
Über Eure Hilfe würde ich mich sehr freuen
Viele Grüße
MaDeBuVie
ich möchte aus MSAcess (MSAccess 2016) heraus eine Word-Datei erstellen, die aus verschiedenen Kaptieln mit Textpassagen diversen
Tabellen, die ich später aus der Datenbank befülle. Zu diesen Kapiteln soll auf der ersten Seite ein Inhaltsverzeichnis erstellt werden.
Die grobe Struktur bekomme ich technisch schon hin.
Im Moment habe ich das Problem, daß die Tabelle, die ich eingebaut habe nicht an der korrekten Stelle eingebaut wird, sondern an das Ende
der Datei.
Vielleicht weiß jemand was ich da falsch mache (Die Tabelle sollte eigentlich zwischen den beiden Textpassagen in Kapitel 1.1 eingefügt werden).
Hier mein Quellcode
Visual Basic:
Private Sub CreateDoc_Click()
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Dim objTable As Table
'Verwendung von "on error resume next", damit VBA keine Fehlermeldung ausgibt,
'wenn es Word Open nicht finden kann
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
'Bei "Nothing" öffne neue Instanz von Word
If wdApp Is Nothing Then Set wdApp = New Word.Application
'Setze die Fehler zurück
On Error GoTo 0
'Erstelle ein neues Dokument
Set wdDoc = wdApp.Documents.Add
'Word arbeitet nach dem Ort der "Selection"
wdApp.Selection.Document.TablesOfContents.Add Range:=Selection.Range, _
RightAlignPageNumbers:=True, _
UseHeadingStyles:=True, _
IncludePageNumbers:=True, _
UseHyperlinks:=True, _
HidePageNumbersInWeb:=True, _
UseOutlineLevels:=False
'Seitenumbruch einfügen
wdApp.Selection.InsertBreak (7)
wdApp.Selection.Style = ActiveDocument.Styles("Überschrift 1")
wdApp.Selection.TypeText Text:="1 Mein erstes Kapitel"
wdApp.Selection.TypeParagraph
wdApp.Selection.Style = ActiveDocument.Styles("Überschrift 2")
wdApp.Selection.TypeText Text:="1.1 Einleitung"
wdApp.Selection.TypeParagraph
wdApp.Selection.Style = ActiveDocument.Styles("Standard")
wdApp.Selection.TypeText Text:="Dies ist ein Beispieltext."
wdApp.Selection.TypeParagraph
'wdApp.Selection.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:=2
wdDoc.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:=2
wdDoc.Tables(1).Cell(1, 1).Range.Text = "Typ 1"
wdDoc.Tables(1).Cell(1, 2).Range.Text = "123"
wdDoc.Tables(1).Cell(2, 1).Range.Text = "Typ 2"
wdDoc.Tables(1).Cell(2, 2).Range.Text = "456"
wdApp.Selection.InsertBreak (7)
wdApp.Selection.TypeText Text:="Dies ist ein Beispieltext2."
wdApp.Selection.TypeParagraph
wdApp.Selection.Style = ActiveDocument.Styles("Überschrift 3")
wdApp.Selection.TypeText Text:="1.1.1 Einleitung im Detail"
wdApp.Selection.TypeParagraph
'Inhaltsverzeoichnis aktualisieren
wdApp.Selection.Document.TablesOfContents(1).UpdatePageNumbers
'Speichern und schließen
wdDoc.SaveAs CurrentProject.Path & "\TestDoc.doc"
wdDoc.Close
MsgBox "Datei wurde erstellt!"
'Objekte löschen
Set wdDoc = Nothing
Set wdApp = Nothing
End Sub
Über Eure Hilfe würde ich mich sehr freuen
Viele Grüße
MaDeBuVie
Zuletzt bearbeitet von einem Moderator: