Excel Dokument soll in Word geöffnet werden

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Excel Dokument soll in Word geöffnet werden

    Hallo zusammen,

    bin neu hier und auch VBA anfänger.
    Es geht darum:
    Ich habe ein Excel Dokument, mit dem man mittels Drop Down,etc verschiedene Felder füllen kann.
    Diese Felder ergeben dann ein Lieferschein. Diesen Lieferschein will ich per knopfdruck direkt in Word geöffnet haben, da wir dies als Word-Dokument speichern müssen.
    Es funktioniert auch alles bis auf das Format in das es in Word übertragen wird. Es passt nicht auf eine Seite sondern ist zu groß.
    Wenn ich aber den Aussschnitt aus Excel manuell in Word kopiere passt es perfekt.
    Könnt Ihr mir evtl helfen ?
    Option Explicit

    Sub Word_Kopie()
    Dim wd As Object, xDok As Object
    ThisWorkbook.Worksheets("DruckHS").UsedRange.Copy
    Set wd = CreateObject("word.Application")
    Set xDok = wd.Documents.Add
    xDok.Range.Paste
    wd.Visible = True
    End Sub


    so sieht es bis jetzt aus.
    Zeile A1 ist links oben der Anfang und rechts unten E47. Mit der Range hab ich es auch probiert, ändert aber nichts daran das es nicht in Word passt.

    Danke für eure Hilfe :)

    Timbon schrieb:

    xDok.Range.Paste
    Versuch's mal mit

    Visual Basic-Quellcode

    1. ​xDok.Selection.PasteExcelTable False, True, False
    und spiel ggf. mit Parameter 2 und 3.
    Falls das nicht hilft, füg's als Bild ein:

    Visual Basic-Quellcode

    1. Selection.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, Placement:=wdInLine, DisplayAsIcon:=False
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Timbon schrieb:

    nur das mit dem Bild klappt iwie nicht
    Wahrscheinlich musst du erst irgendwas selektieren und dann in die Selection kopieren.

    Visual Basic-Quellcode

    1. ​xDok.Range.Select
    2. xDok.Selection.PasteSpecial ...


    Timbon schrieb:

    Kann ich die in Word kopierten Zeilen formatieren?
    Klar.
    Aber ich würde einfach ein vorformatiertes Template öffnen, in das du deine Tabelle kopierst.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --