Hallo Zusammen,
vielleicht könnte mir Jemand von Euch weiterhelfen.
Ich habe aktuell die folgende Problematik. Ich erstelle über VBA ein Word Dokument aus einem Template und fülle dieses mit Inhalt.
Meiner Methode übergebe ich das aus dem Template erstellte Dokument und möchte das Dokument nach Abschluss der Bearbeitung auf einem Netzwerkpfad speichern.
Den groben Aufbau der Methoden seht Ihr unten. Ich habe ein paar der Variablen und für die Darstellung des Problems irrelevanten Codezeilen entfernt.
Aufruf der Export-Methode
Export Methode
Der erste Durchlauf klappt auch noch ohne Probleme. Sobald man das Ganze nochmal ausführt stürzt er beim Selektieren der Spalten ab.
Im Taskmanager habe ich mal geprüft, ob noch Word Prozesse laufen, welche den Zugriff blockieren, allerdings ist das nicht der Fall.
Die einzige Vermutung, welche ich noch habe, ist, dass das Ganze im Zusammenhang mit der Instanz der Word.Application zusammenhängt.
Hättet Ihr noch eine Idee für mich, da ich langsam ein wenig verzweifel
Vielen Dank
vielleicht könnte mir Jemand von Euch weiterhelfen.
Ich habe aktuell die folgende Problematik. Ich erstelle über VBA ein Word Dokument aus einem Template und fülle dieses mit Inhalt.
Meiner Methode übergebe ich das aus dem Template erstellte Dokument und möchte das Dokument nach Abschluss der Bearbeitung auf einem Netzwerkpfad speichern.
Den groben Aufbau der Methoden seht Ihr unten. Ich habe ein paar der Variablen und für die Darstellung des Problems irrelevanten Codezeilen entfernt.
Aufruf der Export-Methode
Export Methode
Visual Basic-Quellcode
- Private Function exportWord (oDoc As Word.Document, ...) As settings
- On Error GoTo Err_WordExport
- Dim sets As settings
- With sets
- .export = False
- End With
- exportWord = sets
- Dim objRange As Word.Range
- Dim objTable As Word.Table
- With oDoc
- Set objRange = .Bookmarks("tbl").Range
- .Tables.Add objRange, positionen.Count + 1, 6
- Set objTable = .Bookmarks("tbl").Range.Tables(1)
- End With
- With objTable
- With .Rows(1)
- .Cells(1).Range.Text = ""
- .Cells(2).Range.Text = ""
- .Cells(3).Range.Text = ""
- .Cells(4).Range.Text = ""
- .Cells(5).Range.Text = ""
- .Cells(6).Range.Text = ""
- .Cells(1).Range.Font.Bold = True
- .Cells(2).Range.Font.Bold = True
- .Cells(3).Range.Font.Bold = True
- .Cells(4).Range.Font.Bold = True
- .Cells(5).Range.Font.Bold = True
- .Cells(6).Range.Font.Bold = True
- End With
- End With
- Dim i As Long
- i = 2
- For Each ItemPos In Positionen
- 'Füllen des Inhaltes....
- Next ItemPos
- With objTable.Rows(1).Borders(wdBorderBottom)
- .Visible = True
- .LineStyle = wdLineStyleDouble
- End With
- objTable.Columns(4).Select
- Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
- objTable.Columns(5).Select
- Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
- objTable.Columns(6).Select
- Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
- objTable.Columns.AutoFit
- oDoc.SaveAs2 pathToSave
- With sets
- .export = True
- .PathToFile = pathToSave
- End With
- exportWord = sets
- Set objTable = Nothing
- End Function
Der erste Durchlauf klappt auch noch ohne Probleme. Sobald man das Ganze nochmal ausführt stürzt er beim Selektieren der Spalten ab.
Im Taskmanager habe ich mal geprüft, ob noch Word Prozesse laufen, welche den Zugriff blockieren, allerdings ist das nicht der Fall.
Die einzige Vermutung, welche ich noch habe, ist, dass das Ganze im Zusammenhang mit der Instanz der Word.Application zusammenhängt.
Hättet Ihr noch eine Idee für mich, da ich langsam ein wenig verzweifel
Vielen Dank
Gruß
DerFr0sch
DerFr0sch
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DerFr0sch“ ()