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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.