Ich muss meinem Gesichtsausdruck beibringen, wie man seine Meinung für sich behält.
Lieber René,
nachfolgender Code läuft fehlerfrei unter
Win 7 + Word 2010
Win 7 + Word 2013
Win 10 + Word 2019
Win 10 + Word 365
nur nicht unter Win 10 + Word 2016.
Die rot markierte Zeile ist mein Problemkind.
Vielleicht hast Du noch eine Idee.
Sub TopAktuell_Einfügen()
Application.ScreenUpdating = False
DocPath = "O:\Topaktuell\"
ChDrive ("O:\")
ChDir ("O:\Topaktuell\")
Dim datei As String
Selection.EndKey Unit:=wdStory
For dokumente = 1 To 30
If Dir(DocPath & dokumente & "_1.docx") = "" Then Exit For
For seiten = 1 To 20
datei = dokumente & "_" & seiten & ".docx"
If Dir(DocPath + datei) = "" Then Exit For
Selection.InlineShapes.AddOLEObject ClassType:="Word.Document.12", _
FileName:=datei
Next
Next
Application.ScreenUpdating = True
End Sub
Danke.
LG Traudl
Hi Traudl,
Seit über 20 Jahren schreibe ich VBA-Code. Dabei ist mir aufgefallen, dass sich einige wenige Objekte verändert haben. Ich habe mal vor vielen Jahren ein Makro geschrieben, das Text in eine Word-Tabelle geschrieben hat und den Text mit einem Hyperlink auf ein Word-Dokument versehen hat. Eine der Parameter beim Befehl Hyperlinks.Add wurde geändert.
Deshalb sage ich nicht, dass das nicht sein kann.
ABER! Bitte, bitte, bitte: adressiere doch sauber.
Ändere seinen Code in:
Dim wdBereich As Range
Set wdBereich = ActiveDocument.Range(Start:=ActiveDocument.Range.End - 1)
(Ende des Dokuments)
Und dort:
wdBereich.InlineShapes.AddOLEObject ClassType:="Word.Document.12", _
FileName:=datei
Es kann natürlich sein, dass es trotzdem nicht unterstützt ist – aber eher unwahrscheinlich als das „Hoppeln“ an Ende:
Selection.EndKey Unit:=wdStory
Raus damit!
Und: wenn du gerade dabei bist:
ChDrive ("O:\")
ChDir ("O:\Topaktuell\")
Raus damit!
Und: deklariere die Variablen:
Dim docpath As String
Dim dokumente As Integer
Dim seiten As Integer
Dim datei as String
Und schließlich: Warum fügst du ein Word-Dokument in ein anderes ein? Ich würde es öffnen, an eine Objektvariable übergeben, den Inhalt (brauchst du die Formate?) entweder in einer Stringvariable speichern oder kopieren und ins Dokument einfügen.
Hilft das?
Liebe Grüße
Rene
Ich danke Dir ganz, ganz herzlich für Deine Vorschläge, lieber René.
Den Code hatte ich 2017 erstellt und war froh, dass er läuft. Er ist eine Sub aus einem unfangreichen Makro. Ich bin allerdings keine Programmiererin. Dazu benutze ich VBA viel zu wenig.
Deine Vorschläge werde ich natürlich umsetzen .
Ich gebe Dir Bescheid, wie es funktioniert.
Liebe Grüße Traudl