Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
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

Variablen nach Word übertragen

Variablen nach Word übertragen
17.04.2020 13:46:42
Peer
Hallo.
Ich arbeite und zweifle die letzten Tage an dem Versuch, Variablen an Word zu übermitteln.Ich hoffe, es gibt hier Helfer, die sich auskennen.
mit

Bookmarks(Name).Range.Text = Variable (bzw. Wert der TextBox)
kann man den Inhalt übermitteln. Das funktioniert auch soweit.
Aber jetzt wollte ich z.B. das aktuelle Datum mit

Bookmarks("aktDatum").Value = xlToday
an Word schicken, aber da kommt nur Null an.
Weitere Gedankengänge waren, ob man statt Textmarken (Bookmarks) nicht besser Steuerelemente im Worddokument nimmt. Das hat den Vorteil, das man sie direkt ansprechen könnte. Aber wie spricht man diese an? Hier gibt es Unterschiede bei Formularsteuerelement und ActiveX.
Ich möchte gern das Datum, das ich in der UF der Excel-Datei eingebe, an das Worddokument übermitteln, das man aber in dem Worddokument über das Formular-Kalendersteuerelement abändern kann.
Geht das überhaupt? Wie gehe ich das an? Wie würdet ihr vorgehen?
Vielen Dank für jeden Vorschlag im Voraus.
LG
Peer

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablen nach Word übertragen
17.04.2020 14:13:26
Peer
Hi.
Das Problem mit dem Datum konnte ich lösen.
Bookmarks("aktDatum").Range.Text = Date
LG
Peer
AW: Variablen nach Word übertragen
18.04.2020 10:31:54
Hajo_Zi
Hallo Peer,
Textmarken hat den Vorteil man muss sie nur einmal übergeben und kan sie an zig Stellen im Dokument verwenden.
Ist die Frage nicht in einem Word Forum besser aufgehoben?

AW: Variablen nach Word übertragen
18.04.2020 16:41:16
Peer
Hallo Hajo.
Im Prinzip hast du recht.
Aber spätestens wenn man mit Tabellen arbeitet, kommt man an der Sache nicht vorbei.
Interessehalber wünsche ich mir gern Lösungsvorschläge.
Und du hast ebenfalls recht bei der Wahl des Forums.
Ich werde die Frage mal im Word Forum stellen.
Vielen Dank, Hajo, dass du geantwortet hast.
LG
Peer
Anzeige
AW: Variablen nach Word übertragen
19.04.2020 16:39:23
Matthias
Moin!
HAbe mit dem Kalendersteuerelement noch nicht gearbeitet. Word ist da ein bissl problematisch. Es wird zwischen Steuerelementen und AxtiveX unterschieden. Zudem können die Objekte als INlineshape oder als reines Shape vorliegen. Je nachdem muss man sie anders ansprechen.
Hier mal ein Beispiel. Da liegt eine ActiveX Textbox als Inlineshape vor. Erst Variante spricht es über den InlineshapeIndex an, würde auch über den Namen gehen. Zweite spricht das selbe Element über seine Objektnamen an.
Set AppWD = CreateObject("Word.Application") 'Word als Object starten
mynam = "hier der Pfad"
AppWD.Visible = True
AppWD.documents.Open mynam
Set doc = AppWD.activedocument
'Zugriff über Inlineshape
doc.inlineshapes(1).OLEFormat.Object.Text = "test"
'Zugriff über Object
doc.Textbox1.Text = "was anderes"

Je nach anderen Objekten muss man ggf. ein wenig testen.
VG
Anzeige
AW: Variablen nach Word übertragen
19.04.2020 19:37:03
Peer
Hallo Matthias.
Ich nehme mal an, du hast dich auch im Word-Forum dazu gemeldet hast.
In beiden Fällen danke ich dir.
Ich habe mit beiden Versionen probiert. Aber es funktioniert die Inline Variante (noch) nicht.
Ich habe im Word-Doc ein Textfeld erstellt und darin ein Nur-Text-Inhaltsteuerelement eingefügt.
Ich habe auch nur das Inhaltsteuerelement eingefügt, komme aber zu keinem Ergebnis.
Im Excel Code habe ich

With objDocument
' Textmarken in Word füllen
'.Shapes("txbPersNrHoch").TextRange.Text = lst_TN_Auswahl.List(0, 3)
.bookmarks("PersNr").Range.Text = lst_TN_Auswahl.List(0, 3)
.bookmarks("Teilnehmer").Range.Text = lst_TN_Auswahl.List(0, 2) & " " &  _
lst_TN_Auswahl.List(0, 1)
.bookmarks("Trainer").Range.Text = TrainerVorname & " " & TrainerName & " (" &  _
TrainerOE & ")"
.bookmarks("aktDatum").Range.Text = Date
.bookmarks("TeilnahmeDatum").Range.Text = dat_AusstellDatum
.bookmarks("Ausstellungsort").Range.Text = txt_AustellOrt
' Variante 1 von Matthias (funktioniert)
.TextBox1.Text = "was anderes"  'ActiveX TextBox
' Variante 2 von Matthias (funktioniert nicht)
.inlineshapes(1).OLEFormat.Object.Text = txt_AustellOrt  'Steuerelement "test" im  _
Textfeld
' Steuerelement in Word füllen
' Variante 1 von Gerhard aus MOF
.SelectContentControlsbyTag("aktDatum").Item(1).Range.Text = dat_AusstellDatum  ' _
nur Steuerelement "aktDatum"
End With
, wobei das Word-Doc als objDocument deklariert wurde.
LG
Peer
Anzeige
AW: Variablen nach Word übertragen
19.04.2020 19:47:54
Peer
Hallo Matthias.
Ich nehme mal an, du hast dich auch im Word-Forum dazu gemeldet hast.
In beiden Fällen danke ich dir.
Ich habe mit beiden Versionen probiert. Aber es funktioniert die Inline Variante (noch) nicht.
Ich habe im Word-Doc ein Textfeld erstellt und darin ein Nur-Text-Inhaltsteuerelement eingefügt.
Ich habe auch nur das Inhaltsteuerelement eingefügt, komme aber zu keinem Ergebnis.
Im Excel Code habe ich

With objDocument
' Textmarken in Word füllen
'.Shapes("txbPersNrHoch").TextRange.Text = lst_TN_Auswahl.List(0, 3)
.bookmarks("PersNr").Range.Text = lst_TN_Auswahl.List(0, 3)
.bookmarks("Teilnehmer").Range.Text = lst_TN_Auswahl.List(0, 2) & " " &  _
lst_TN_Auswahl.List(0, 1)
.bookmarks("Trainer").Range.Text = TrainerVorname & " " & TrainerName & " (" &  _
TrainerOE & ")"
.bookmarks("aktDatum").Range.Text = Date
.bookmarks("TeilnahmeDatum").Range.Text = dat_AusstellDatum
.bookmarks("Ausstellungsort").Range.Text = txt_AustellOrt
' Variante 1 von Matthias (funktioniert)
.TextBox1.Text = "was anderes"  'ActiveX TextBox
' Variante 2 von Matthias (funktioniert nicht)
.inlineshapes(1).OLEFormat.Object.Text = txt_AustellOrt  'Steuerelement "test" im  _
Textfeld
' Steuerelement in Word füllen
' Variante 1 von Gerhard aus MOF
.SelectContentControlsbyTag("aktDatum").Item(1).Range.Text = dat_AusstellDatum  ' _
nur Steuerelement "aktDatum"
End With
, wobei das Word-Doc als objDocument deklariert wurde.
LG
Peer
Anzeige
AW: Variablen nach Word übertragen
20.04.2020 21:20:45
Matthias
Moin!
JA, im anderen Forum hatte ich noch zusätzlich die Listbox dabei.
Bin mir nicht sicher, ob du jetzt bei deinem Problem noch eine Lösung brauchst oder dir die beiden Varianten reichen. Falls du für deine Datei auch eine Lösung brauchst (und sei es nur interessehalber), lade die Datei einfach mal hoch. Vorher ggf. in txt umbenennen und die Originalendung mal posten. Dann könnte man sich an der Datei anschauen, was nicht klappt bzw. warum.
VG
AW: Variablen nach Word übertragen
20.04.2020 22:03:24
Peer
Hallo Matthias.
Ich bin immer für Lösungen zu haben, weil ich von haus aus neugierig bin ;-).
Ich habe alles mal in eine Zip gebaut und du kannst dir es mal gerne anschauen.
https://www.herber.de/bbs/user/136906.zip
LG Peer
Anzeige
AW: Variablen nach Word übertragen
20.04.2020 22:09:53
Peer
Hallo Matthias.
Ich bin es nochmal. ich habe dir die falschen Worddateien mitgeschickt. Anbei die richtige Datei, die du dann ins Verzeichnis Protokolle schieben musst.
https://www.herber.de/bbs/user/136907.zip
LG Peer
AW: Variablen nach Word übertragen
22.04.2020 21:14:55
Matthias
Moin!
Also habe mal geschaut. Nur im Protokoll RF 2020 ... war ein Textbox drin. Die anderen beiden Dokumente waren leer. Und dein Code schreibt dort doch die Daten rein. Konnte jetzt das Problem so nicht nachvollziehen. Bastel sonst nur mal ein Word Dokument, mit der Konstellation wie es nicht ging. Braucht auch sonst keine weiteren Textboxen, Bockmarks etc. zu haben. Geht ja nur für Testzwecke (braucht also nicht kompatibel zu deiner Exceldatei zu sein). Kümmer mich bei der Analyse dann schon.
VG
Anzeige
AW: Variablen nach Word übertragen
23.04.2020 16:50:58
Peer
Hallo Matthias.
Ich habe die anderen Dokumente noch nicht bearbeitet. Die habe ich dir beim ersten Mal falsch geschickt.
Bezüglich RF 2020... Dokument war einmal die TextBox1 gemeint, dass als AcitveX eingefügt wurde und zum zweiten gibt es ein Textfeld mit dem Nur-Inhalts-Steuerelement "txt_Datum".
Ich habe dir mal nur das eine Worddokument und die Beispielmappe geschickt. Im Worddokument habe ich einiges benannt. Wie schon erwähnt , müsstest du das Worddokument in einen Ordner "Protokoll" verschieben.
https://www.herber.de/bbs/user/136991.zip
LG
Peer
Anzeige
AW: Variablen nach Word übertragen
23.04.2020 20:39:23
Matthias
Moin!
Also habe mal getestet. Auf das Inhaltssteuerelement kannst du so zugreifen.
objDocument.Shapes("Text Box 4").TextFrame.TextRange.ContentControls(1).Range = "mein Text"

Wobei ich den Namen des Inhaltssteuerelementes nicht finden konnte. Ich glaube auch das die keinen haben. Deshalb habe ich es mit dem Index angesprochen. Gibt da ja nur einen. Und die Textbox in der das Element lag, war de TB4.
VG
AW: Variablen nach Word übertragen
23.04.2020 21:22:43
Peer
Hallo Matthias.
Genau das war die Lösung.
Vielen lieben Dank.
Wie weiß man, wenn man mehrere TextBoxen hat, dass es die TextBox 4 gemeint ist? Ich kann diesbezüglich in den Eigenschaften nichts finden. Ich glaube, ich hatte mal etwas von "Absatzweise" gelesen.
VG
Peer
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige