Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1244to1248
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

String Variable/ Inhalt in Word übertragen

String Variable/ Inhalt in Word übertragen
drKnilch
Hallo,
ich bin dabei ein Programm zu schreiben, dass ich Zelleninhalte (Text) in ein Worddokument übertragen lassen kann.
Hier mal der Code:
  • Public Sub Worddaten()
    Dim strData As String
    Dim objWord As Object
    Application.DisplayAlerts = False       'Fehlermeldungen ausgeblendet
    ZeileDOC = ZeileDOC - 1
    Worksheets("Daten für Word").Range(Cells(1, 1), Cells(ZeileDOC, 2)).Select
    strData = Selection                           ' "Typen unverträglich"
    Set objWord = CreateObject("Word.Application")
    objWord.documents.Open "Z:\Markus\Touch-Panel Verknüpft.docm"
    objWord.Visible = True            'Word wird angezeigt
    With objWord                                                                                 _
    ' Fügt die Daten in die Textmarke ein
    If .ActiveDocument.Bookmarks.Exists("Exceldaten") Then
    .ActiveDocument.Bookmarks("Exceldaten").Range.Text = strData
    End If
    End With
    objWord.ActiveDocument.SaveAs "Z:\XY\Touchpanel" & Date & ".docm"
    objWord.Quit
    Set objWord = Nothing
    Application.DisplayAlerts = True          'Fehlermeldungen eingeblenden
    End Sub
    


  • In der Zeile "strData = Selection" spuckt´s mir ein Laufzeitfehler 13: Typen unverträglich aus. Was stimmt hier nicht? Evtl. Variablen Typ falsch?
    Wie kann ich das Programm den noch so ändern, dass es mir nicht Tabellen mit Inhalt, sondern nur den Inhalt (im Tabellenformat) überträgt.
    Wäre super, wenn mir jemand weiterhelfen könnte!!
    besten Dank,
    Knilch
    AW: String Variable/ Inhalt in Word übertragen
    12.01.2012 09:59:43
    Luschi
    Hallo Knilch,
    versuch es mal so:
    
    ZeileDOC = ZeileDOC - 1
    Dim rg1 As Range, rg2 As Range, n As Long
    With Worksheets("Daten für Word")
    Set rg1 = .Range(.Cells(1, 1), .Cells(ZeileDOC, 2))
    strData = ""
    For Each rg2 In rg1
    strData = rg2.Value & vbCrLf
    Next rg2
    End With
    Set rg1 = Nothing
    n = Len(strData)
    'letzten Zeilenwechsel löschen
    'vbCrLf enthält 2 Steuerzeichen (13 und 10)
    strData = Left(strData, n - 2)
    
    Gruß von Luschi
    aus klein-Paris
    AW: String Variable/ Inhalt in Word übertragen
    12.01.2012 10:41:53
    drKnilch
    Hm, also das Programm läuft jetzt zumindest mal fehlerfrei- DANKE
    Problem ist jetzt nur, dass nur ein Inhhalt (Cells(ZeileDOC,2)) übertragen wird. Es soll aber der gesamte Bereich (Cells(1, 1), Cells(ZeileDOC, 2)) übertragen werden.
    Leider kenn ich mich jetzt mit dem Code nicht aus und kann ihn nicht selber ändern :-/
    aktuell sieht´s so aus:

  • Public Sub Worddaten()
    'Daten übertragen:
    Dim strData As String
    Dim objWord As Object
    Application.DisplayAlerts = False
    ZeileDOC = ZeileDOC - 1
    Dim rg1 As Range, rg2 As Range, n As Long
    With Worksheets("Daten für Word")
    Set rg1 = .Range(.Cells(2, 1), .Cells(ZeileDOC, 2))
    strData = ""
    For Each rg2 In rg1
    strData = rg2.Value & vbCrLf
    Next rg2
    End With
    Set rg1 = Nothing
    n = Len(strData)
    'letzten Zeilenwechsel löschen
    'vbCrLf enthält 2 Steuerzeichen (13 und 10)
    strData = Left(strData, n - 2)
    Set objWord = CreateObject("Word.Application")
    objWord.documents.Open "Z:\Markus\Touch-Panel Verknüpft.docm"
    objWord.Visible = True
    With objWord                                 'Fügt die Daten in die Textmarke ein
    If .ActiveDocument.Bookmarks.Exists("Exceldaten") Then
    .ActiveDocument.Bookmarks("Exceldaten").Range.Text = strData
    End If
    End With
    objWord.ActiveDocument.SaveAs "Z:\Markus\Touchpanel" & Date & ".docm"
    'objWord.Quit
    Set objWord = Nothing
    Application.DisplayAlerts = True
    End Sub
    

  • Anzeige
    AW: String Variable/ Inhalt in Word übertragen
    12.01.2012 11:24:31
    Luschi
    Hallo Knilch,
    sorry..., aber ich hatte gerade meine Brille nicht geputzt.
    Bei dieser Definition: Set rg1 = .Range(.Cells(1, 1), .Cells(ZeileDOC, 2))
    werden ja Spalte 'A' und 'B' durchlaufen im Zeilenbereich 1 bis ZeileDOC
    Wie willst Du die Werte von A? und B? in der Word-Datei sehen: nebeneinander mit Trennzeichen
    oder untereinander mit Zeilenwechsel?
    fragt sich Luschi
    aus klein-Paris
    AW: String Variable/ Inhalt in Word übertragen
    12.01.2012 11:53:56
    drKnilch
    Wenn ich manuell die Daten aus Excel kopiere und in Word einfügen gibt es ja mehrere Möglichkeiten, das zu tun:
    Mit "Tabellenstrichen", durchgehender Text, oder eben in urspünglicher Formatierung- diese will ich.
    Also in Tabellenoptik, ohne Striche. So soll das aussehen:
    (Bei dem kleinen Kreuz wird eingefügt)
    Userbild
    Anzeige
    AW: String Variable/ Inhalt in Word übertragen
    12.01.2012 12:54:14
    drKnilch
    Eigentlich geht´s jetzt hauptsächlich darum, wie ich ALLE Zellen übertrage und nicht nur die unten links.
    Das sollte dan aber in der richtigen Formatierung sein ;-)
    besten Dank!
    AW: String Variable/ Inhalt in Word übertragen
    12.01.2012 13:10:37
    Luschi
    Hallo Knilch,
    beim Übertragen von Exceldaten nach Word/Powerpoint (PP) mache ich das so:
    - Excel-Bereich, der kopiert werden soll, per Vba in eine Grafik umwandeln
    - in die Word/PP-Textmarke diese Grafik kopieren
    - in Word/PP die Textmarke ein bischen formatieren (Größe usw.).
    Es gibt also keine direkte Verbindung von Excel nach Winword/PP.
    Und bei Datenänderungen muß das Makro neu gestartet werden.
    Damit sind Daten-Veränderungen aber fast ausgeschlossen...
    So ist Excel einfach 'Klasse'! und der Export nach Word/Powerpoint einfach unproblematisch!
    Und bei Datenänderungen in der Excel_Datei laufen die Excel-Makros blitzeschnell.
    Gruß von Luschi
    aus klein-Paris
    Anzeige
    AW: String Variable/ Inhalt in Word übertragen
    12.01.2012 13:47:20
    drKnilch
    Wenn Word bei Datenänderungen nicht aktuell ist, macht das nichts.
    Schlussendlich ist es mir aber egal, wie der Datenaustausch funktioniert. Wenn ich es dann allerdings in Word weiterverarbeiten kann, wär´s mir recht- Wird bei einer Grafik warscheinlich nicht funktionieren?!
    Also: Die Übertragung funktioniert ja schon. Nur eben nicht der ganze Bereich.
    Wie ändere ich das denn?
    besten Dank und Grüße aus dem Allgäu
    AW: String Variable/ Inhalt in Word übertragen
    12.01.2012 18:30:36
    fcs
    Hallo Knilch,
    mit folgenden Anpassungen sollte das Kopieren des Bereiches nach Word funktionieren.
    Gruß
    Franz
    Public Sub Worddaten()
    Dim ZeileDOC As Long  'testzeile
    ZeileDOC = 4          'testzeile
    'Daten übertragen:
    Dim objWord As Object
    Application.DisplayAlerts = False
    ZeileDOC = ZeileDOC - 1
    Dim rg1 As Range
    With Worksheets("Daten für Word")
    Set rg1 = .Range(.Cells(2, 1), .Cells(ZeileDOC, 2))
    rg1.Copy
    End With
    Set objWord = CreateObject("Word.Application")
    objWord.documents.Open "Z:\Markus\Touch-Panel Verknüpft.docm"
    objWord.Visible = True
    With objWord                                 'Fügt die Daten in die Textmarke ein
    .Activate
    If .ActiveDocument.Bookmarks.Exists("Exceldaten") Then
    .Selection.GoTo What:=-1, Name:="Exceldaten" '-1 = wdGoToBookmark
    .Selection.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=True
    End If
    End With
    objWord.ActiveDocument.SaveAs "Z:\Markus\Touchpanel" & Date & ".docm"
    'objWord.Quit
    Application.CutCopyMode = False
    Set objWord = Nothing
    Set rg1 = Nothing
    Application.DisplayAlerts = True
    End Sub
    

    Anzeige
    AW: String Variable/ Inhalt in Word übertragen
    16.01.2012 07:43:03
    drKnilch
    Super! Vielen Dank, Franz. Es läuft genau so, wie ich es wollte :-)
    Vielen, vielen Dank!!

    299 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige