Clever-Excel-Forum

Normale Version: Excel zeile in Word schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
wie gesagt das Dokumennt ist sehr verwirrend für mich
also wenn ich den Code eins zu eins über nehme und den Pfad ändere startet das Word auch nicht.
auch wenn ich "word", True mache nicht.
Ganz habe ich noch nicht verstanden, wieso du dich als selbst erklärter VBA-Anfänger an solch schwierige Aufgaben machst. Du fängst doch beim Schifahren lernen auch nicht auf der roten Piste an, oder?

Dein Code öffnet ja auch nicht die Worddatei, sondern legt einzig und allein eine Variable namens strDoc fest und weist ihr einen Pfad zu. Sonst nix.
So öffnest du deine Worddatei

Code:
   Dim WordApp As Object
   Set WordApp = CreateObject("Word.Application")
   With WordApp
     .Visible = True
     .Documents.Open Filename:="C:\Users\IDM117654\Documents\Lieferschein.docx"
   End With
du hast recht aber da ich sehr schnell lerne mit harten aufgaben bin ich besser.
da ich schweizer bin stehe ich schon seit 2.5 jahren auf den Skis und habe tätsächlich auf einem Gletscher gelert Smile

danke für den Tip ich versuchs mal.

also funktioniert hats schon mal das Word öffnen aber es schreibt noch nicht in Word Sad

Private Sub CommandButton_Eingabe_Click()
Dim last As Integer
Dim WordApp As Object
Const strBookmark1 As String = "Modell"
  Set WordApp = CreateObject("Word.Application")
  With WordApp
    .Visible = True
    .Documents.Open Filename:="C:\Users\IDM117654\Documents\Lieferschein.docx"
  End With





Worksheets("Tabelle3").Activate
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(last, 1).Value = TextBox02_Computername

Cells(last, 2).Value = TextBox02_Modell

TextBox02_Modell = strBookmark1  (so wirds nicht geschrieben aber es gibt keinen Fehler aus)

Cells(last, 3).Value = TextBox02_Emailadresse
Cells(last, 4).Value = TextBox02_Vorname
Cells(last, 5).Value = TextBox02_Nachname
Cells(last, 6).Value = TextBox02_Lokation
Cells(last, 7).Value = TextBox02_Adresse
Wenn du schnell lernst, dann ist es ja gut. Wobei du aber mit Sicherheit nichts lernst ist, wenn man dir alles vorkaut. Ich kann keine Versuche deinerseits erkennen, außer die bekanntgegebenen Codes irgendwo einzutragen.
Du schreibst

Zitat:also funktioniert hats schon mal das Word öffnen aber es schreibt noch nicht in Word
Bitte schau dir den zuletzt gezeigten Code mal Zeile für Zeile durch. An welcher Stelle sollte deiner Meinung nach etwas an Word übertragen werden und wieso.
Du hast recht mit dem vorgeben lernt man nicht viel.
Mein Verständnis bei dem Code ist dass es oben ja deklariert ist und das Programm doch jetzt wissen muss was und wo das eingetragen werden soll.
Nun ist mir nicht klar warum es so ist. 
Dass du nicht siehst was ich alles schon versucht habe ist mir auch völlig klar. Aber glaube mir Ich habe viel getestet und ausprobiert. Ge googlet und auch gelesen. Aber alle zeigen andere Sachen vor. Auch abändern von verschiedenen Varianten sind mir nicht gelungen. Ich zweifle schon an mir selbst glaub mir das. 
Meiner Meinung nach kann das doch nicht so schwer sein ein textbox Feld auszulesen und in ein Bookmark im Word einzufügen.
Nun gut, hier die Lösung...
Code:
Dim WordApp As Object

Set WordApp = CreateObject("Word.Application")
With WordApp
    .Visible = True
    .WindowState = 1
    AppActivate .Caption
    .Documents.Open Filename:="C:\Users\User\Desktop\test.docx"
End With


With WordApp.ActiveDocument
    .Bookmarks("Marke1").Range.Text = TextBox1.Text     'Marke1 ist die Bezeichnung der Textmarke
    .Bookmarks("Marke2").Range.Text = TextBox2.Text
    .Bookmarks("Marke3").Range.Text = TextBox3.Text
End With
Die Zeilen
Code:
    .WindowState = 1
    AppActivate .Caption
sorgen dafür, dass das Worddokument in den Vordergrund geholt wird, ist natürlich nicht zwingend nötig.

Ich weiß nur leider jetzt schon, dass - falls dein Problem hiermit gelöst ist - die nächsten Fragen nicht lange auf sich warten lassen. Auch bezweifle ich den von dir beschriebenen Lerneffekt. Du solltest dich dringend zuerst mit Grundlagen beschäftigen. Das hat schon dein vorheriges Thema bewiesen ("subtrahiere 1 vom Ergebnis..."). Und das meinte ich mit roter Piste.
Zitat:Meiner Meinung nach kann das doch nicht so schwer sein ein textbox Feld auszulesen und in ein Bookmark im Word einzufügen.
Ist es auch nicht. Aber wer keine Grundlagen beherrscht, wird dieses Problem niemals im Leben meistern.

PS: Bitte verwende für deine Codeschnipsel künftig Codetags, das erleichtert das Lesen.
(10.06.2020, 21:08)schmidli schrieb: [ -> ]Meiner Meinung nach kann das doch nicht so schwer sein ein textbox Feld auszulesen und in ein Bookmark im Word einzufügen.

Hallo, :19:

da muss ich dir absolut recht geben: :21:
[attachment=32326]

In der Beispieldatei musst du den Pfad und gegebenenfalls den Dateinamen (wenn du nicht mit meiner Beispieldatei arbeitest) noch anpassen (das sehe ich jetzt nicht als unüberwindbare Herausforderung an). Dodgy

Die Textmarken musst du natürlich auch richtig bezeichnen (links vom Gleichheitszeichen).
Und das was du reinschreiben willst (rechts vom Gleichheitszeichen).

Code:
Option Explicit
Public Sub Main()
    Dim objWordDoc As Object
    Set objWordDoc = CreateObject("C:\Temp\Textmarken.docx")
    objWordDoc.Parent.Visible = True
    objWordDoc.Bookmarks("Textmarke1").Range = "Das ist ein wichtiger Text!"
    objWordDoc.Bookmarks("Textmarke2").Range = "Kann auch aus einer UserForm kommen!"
    objWordDoc.Bookmarks("Textmarke3").Range = "Dort z. B. aus einer TextBox!"
    Set objWordDoc = Nothing
End Sub
Public Sub Main_1()
    With CreateObject("C:\Temp\Textmarken.docx")
        .Parent.Visible = True
        .Bookmarks("Textmarke1").Range = "Das ist ein wichtiger Text!"
        .Bookmarks("Textmarke2").Range = "Kann auch aus einer UserForm kommen!"
        .Bookmarks("Textmarke3").Range = "Dort z. B. aus einer TextBox!"
    End With
End Sub

Wenn du es so schreibst, ist es egal, ob das Dokument schon offen ist, oder nicht.

Ist aber ohne jede Fehlerbehandlung (z. B., wenn du das Makro bei geöffnetem Dokument mehrmals ausführst).

Es sind zwei Beispiele, die dasselbe Ergebnis zeigen.
Besten Dank euch allen mein Chef ist hoch zu frieden mit auch eurer Hilfe.
das habt ich auch euch zu verdanken.
ich weiss ich bin nicht der einfachste aber Trotzdem Danke das ihr mich unterstützt habt.
Na da bin ich aber froh, dass wir deinem Chef Geld sparen konnten, indem er dich sich abrackern ließ, anstatt einen Profi zu engagieren.
Seiten: 1 2