Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Endlosformular an Word übergeben

Begonnen von Rivside, November 08, 2019, 09:29:31

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,

nun, m. E. ist das Murks.. Welchen Hintergrund hat eigentlich die Aufgabe? Ist das eine Schulübung/-aufgabe  oder soll das real eingesetzt werden?

Wie auch immer, ein Schleifenzähler hilft...

Dim i as Long
.
.
.
objWord.Documents.Add ("Deine Wordvorlage")
Do Until rs.Eof
i=i+1
    If rs!Freigabe = True Then

        objWord.ActiveDocument.Bookmarks("textmarker" & i).Select
        objWord.Selection.Range.Text = CStr(rs!Artikel)

    End If
       
rs.MoveNext
Loop

ebs17

Zitatwenn 2 selektiert -> Übergabe an textmarker1 und textmarker2
Schleifen drehen und prüfen, prüfen. Wann kommt man dann zum Handeln oder gar bis zum Erfolg?

Du redest von Datensätzen. Da brauchst Du in der Umständlichkeit pro Feldinhalt eine Textmarke. Das dann multipliziert pro Datensatz.
Was machst Du, wenn Deine vorgesehenen Textmarken nicht ausreichen, die gesamte Auswahl zu übernehmen, weil der Anwender fleißiger ist, als Du Dir vorstellen kannst?
Das alleine ist schon ein Totschlagargument für die Einzelübergabevariante.

Alternativen:
- Die Feldinhalte des Recordsets werden zu einem einzigen String zusammengezogen. Dieser kann dann an eine einzelne Textmarke platziert werden. Je nach Inhalten können sich aber Formatierungsprobleme ergeben (verschobene Tabelle).

- Tabelle im Worddokument anlegen. Diese bekommt eine einzelne Textmarke und ist dann hinreichend adressierbar, weil sie dann selber als Objekt per Zeilen und Spalten ansprechbar ist. Dort könnte man im Zuge des Eintragens auch neue benötigte Zeilen dieser Wordtabelle erzeugen.

- Das Recordset wird über die Wordmethode ConvertToTable zu einer Wordtabelle umgeformt. Diese Tabelle wird an der Textmarkte eingefügt. Fertig, bis auf evtl. ein paar dokumentangepasste Formatierungen. Das wäre meine favorisierte Variante.
Mit freundlichem Glück Auf!

Eberhard

Rivside

Hallo ebs17,

um das ganze noch lustiger darzustellen, müssen bestimmte Teile vom Datensätzen getrennt und an verschiedenen Textmarker übertragen werden.

Ist ja egal. Ich fange an mit VBA und glaube ich werd versuchen das ganze irgendwie mit Schleifen zu lösen.

Ich danke euch für eure Mühe. Das hat mir erstmal viel geholfen.

ebs17

Nun, ehe man mit Codes aktioniert, sollte man einen (Ablauf)Plan haben. Bevor man sich einen Plan zurecht legt, sollte man die Situation wie auch die Zielstellung erfasst und verstanden haben.
Mit freundlichem Glück Auf!

Eberhard