Word Textmarke in Formularfeld schreiben
Hallo, Wir haben ein CRM über welches wir auch Nachrichten versenden.
Über die Textmarken kann man auf Daten wie zB.: den Ort des Entsprechenden Kunden zugreifen. Das funktioniert auch.
Ich habe ein Formular angelegt in dem einige Daten per Hand eingetragen werden.
Aber auch die Daten aus dem CRM (über Textmarken) sollen wenn möglich gleich in ein Formularfeld eingetraten werden,
damit man sie bei Bedarf noch etwas abändern bzw. ergänzen kann.
Versuch nun schon knapp ne Ewigkeit das Vernünftig zu lösen. Hat da jemand von euch eine Ahnung wie das funktionieren könnte?
LG
Hausens
Über die Textmarken kann man auf Daten wie zB.: den Ort des Entsprechenden Kunden zugreifen. Das funktioniert auch.
Ich habe ein Formular angelegt in dem einige Daten per Hand eingetragen werden.
Aber auch die Daten aus dem CRM (über Textmarken) sollen wenn möglich gleich in ein Formularfeld eingetraten werden,
damit man sie bei Bedarf noch etwas abändern bzw. ergänzen kann.
Versuch nun schon knapp ne Ewigkeit das Vernünftig zu lösen. Hat da jemand von euch eine Ahnung wie das funktionieren könnte?
LG
Hausens
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 239925
Url: https://administrator.de/contentid/239925
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo Hausens,
also wenn du mit den Formularfeldern die klassischen Formularfelder meinst, die kannst du so mit VBA ansprechen und deren Wert setzen:
Um dem Feld eine Textmarke zu vergeben > im ungeschützten Modus doppelklick darauf, und im entsprechenden Feld den Namen vergeben.
Grüße Uwe
also wenn du mit den Formularfeldern die klassischen Formularfelder meinst, die kannst du so mit VBA ansprechen und deren Wert setzen:
ActiveDocument.FormFields("Demotextmarke").Result = "Hier der Wert"
Grüße Uwe
wie soll ich denn wissen wie euer CRM die Dokumente verarbeitet ?? Irgendwie wird dein Vorhaben nicht so ganz klar.
Werte einer vorhandenen Textmarke lassen sich ebenso simpel in ein Formularfeld übertragen, und das ganze kann man dann an das Open_Event oder ein Event deiner Wahl des Dokumentes knüpfen.
Beispiel:
Hier ein Demodokument das den Inhalt eines Formularfeldes beim Öffnen des Dokumentes auf den Wert einer Textmarke setzt: demo_bookmark_in_feld_uebertragen_239925.docm
Öffne das Dokument, lösche den Inhalt des Formularfeldes, speichere das Dokument und öffne es erneut, dann ist der Wert der Textmarke im Formularfeld zu sehen ..
ansonsten klär uns etwas mehr auf. Merci.
Grüße Uwe
Ich kann die Textmarke nur dann eintragen wenn ich das ganze Formularfeld markiere, dann wird es aber durch den Text (der von der Textmarke kommt) überschrieben, bzw wenn ich das Blatt schütze wird überhaupt nichts eingetragen.
hä? Was machst du ? arbeitest du mit VBA ? Machst du es über FormFields("Bookmark").Range.Text = "sdfdsf" dann wäre mir das Verhalten klar, denn das entfernt das Formfeld.Werte einer vorhandenen Textmarke lassen sich ebenso simpel in ein Formularfeld übertragen, und das ganze kann man dann an das Open_Event oder ein Event deiner Wahl des Dokumentes knüpfen.
Beispiel:
Private Sub Document_Open()
textEinerTextmarke = ActiveDocument.Bookmarks("Demo").Range.Text
ActiveDocument.FormFields("Demofeld").Result = textEinerTextmarke
End Sub
Öffne das Dokument, lösche den Inhalt des Formularfeldes, speichere das Dokument und öffne es erneut, dann ist der Wert der Textmarke im Formularfeld zu sehen ..
ansonsten klär uns etwas mehr auf. Merci.
Grüße Uwe
3.2.) ich möchte diese Daten aus der Worddatei aber in ein Formularfeld einfügen, Damit man sie ggf noch bearbeiten können soll.
OK, dann passe die Vorlage mit dem obigen VBA entsprechend an, ansonsten bleibt dir nur die Möglichkeit das dem CRM entsprechend mitzuteilen, bzw. dessen Routine der Datenübergabe dahingehend anzupassen.Grüße Uwe
Zitat von @hausens:
So wie du beschrieben hast würde es funktionieren. Es gibt aber nun noch eine Aufgabenstellung.
Die eingetragenen Daten sollen in ein Excel per VBA eingetragen werden. Das funktioniert auch nun mit den „neuen“ Formularfeldern.
auch kein Problem, so sprichst du die neuen ContentControls-Felder über den Titel an, wenn du es über den Tag machen willst einfach in Zeile 3 c.Title durch c.Tag ersetzenSo wie du beschrieben hast würde es funktionieren. Es gibt aber nun noch eine Aufgabenstellung.
Die eingetragenen Daten sollen in ein Excel per VBA eingetragen werden. Das funktioniert auch nun mit den „neuen“ Formularfeldern.
Dim c As ContentControl
For Each c In ActiveDocument.ContentControls
Select Case c.Title
Case "Titel_des_Contentcontrols"
c.Range.Text = "Muh macht die Kuh"
Case "NocheinTitel"
c.Range.Text = "Mäh macht das Schaaf"
' usw.
End Select
Next