Thema Datum  Von Nutzer Rating
Antwort
Rot Dokumenteninhalt formatiert einfügen
20.11.2023 12:41:57 Alex
Solved
22.11.2023 16:26:56 Gast23116
NotSolved
07.12.2023 17:07:47 Gast76408
NotSolved
08.12.2023 13:44:52 Alex
NotSolved

Ansicht des Beitrags:
Von:
Alex
Datum:
20.11.2023 12:41:57
Views:
1074
Rating: Antwort:
 Nein
Thema:
Dokumenteninhalt formatiert einfügen

Hallo liebe VBA-Experten,

ich habe folgendes Problem, an dem ich inzwischen verzweifle. Dabei ist es unerheblich, ob ich Word 2010, 2014, 2016, 2019 oder 2022 verwende (ja, mir stehen in unserer Firma alle diese Versionen zur Verfügung).

Ich möchte einen Dokumentinhalt in ein anderes kopieren unter Beibehaltung sämtlicher Formatierungen. Folgender Code

    WordBasic.StartOfDocument
    WordBasic.EditSelectAll
    WordBasic.EditCopy        
    WordBasic.FileOpen Name:=WSZ_Pfad$ + "\" + WSZDatei$
    WordBasic.EditPaste                     <------------ Hier tritt der Fehler auf

Ist natürlich uralter Code, aber funktioniert beim Durchsteppen problemlos.

Wenn ich hingegen das Makro laufen lasse, meldet Word "Laufzeitfehler '4605': Dieser Befehl ist nicht verfügbar."

Ich kann auf Debuggen klicken, daraufhin wird mir die oben markierte Zeile gelb hinterlegt.

Anschließendes Drücken von F5 lässt das Programm weiterlaufen, das Einfügen funktioniert nun wieder problemlos.

Ich habe es versucht mit

    Selection.Paste

und mit

    Dim TargetDoc As Document
    Set TargetDoc = Documents.Open(WSZ_Pfad$ + "\" + WSZDatei$)
    TargetDoc.Content.Paste                   <------------ Hier tritt der Fehler auf

es kommt zu genau demselben Problem.

 

Dann habe ich es folgendermaßen umformuliert

    Dim SourceRange As Range
    Set SourceRange = ActiveDocument.Range(0, ActiveDocument.Content.End - 1)
    Dim TargetDoc As Document
    Set TargetDoc = Documents.Open(WSZ_Pfad$ + "\" + WSZDatei$)
    TargetDoc.Range.FormattedText = SourceRange.FormattedText

Jetzt läuft zwar der Code durch, aber folgende Formatierungen sind nicht mehr vorhanden:

  • Schriftart & -größe (Calibri, 11)
  • Absatzformat (Abstand Nach=10, Zeilenabstand "Mehrfach", Von: 1,15)

Es werden statt der Formate der Quelldatei diejenigen der Zieldatei genommen (TimesNew Roman, 10; Abstand Nach=0, Zeilenabstand "Einfach").

Dann formatiere ich die Zieldatei um in Übereinstimmung mit dem Quelldokument (Beides nun: Calibri 11 bis "Mehrfach" 1,15).

Anschließend entsteht trotzdem wiederum das falsche Format (TimesNew Roman, 10; Abstand Nach=0, Zeilenabstand "Einfach"), wo immer das nun herkommt.

Wie kann ich die Quelldatei in die Zieldatei kopieren ohne dass sich die Formate verändern? Mit den vorherigen drei Paste-Befehl-Varianten bleibt das Format erhalten (nur stoppt er halt, und läuft doch nach F5 unbehindert weiter). Mache ich manuell Strg-A, Strg-C, Strg-V, bleiben die Formate ebenfalls erhalten.

Beim Range mit FormattedText nicht.

Was könnten die Ursachen sein? Wie könnten weitere Lösungen aussehen?

 

Vielen Dank im Voraus,

Alex


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Dokumenteninhalt formatiert einfügen
20.11.2023 12:41:57 Alex
Solved
22.11.2023 16:26:56 Gast23116
NotSolved
07.12.2023 17:07:47 Gast76408
NotSolved
08.12.2023 13:44:52 Alex
NotSolved