hausens
Goto Top

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

Content-ID: 239925

Url: https://administrator.de/contentid/239925

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

colinardo
colinardo 03.06.2014 aktualisiert um 16:15:57 Uhr
Goto Top
Hallo Hausens,
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"
Um dem Feld eine Textmarke zu vergeben > im ungeschützten Modus doppelklick darauf, und im entsprechenden Feld den Namen vergeben.

Grüße Uwe
hausens
hausens 03.06.2014 um 16:22:40 Uhr
Goto Top
Hallo,
Danke für die schnelle Andwort

Der Text/Wert von der Textmarke soll automatisch im Formularfeld eingetragen werden.
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.

Zum Verständniss, um Daten aus dem CRM zu bekommen gibt es definierte Textmarken zB Strasse,
diese Daten würde ich gerne in ein Formularfeld eintragen.

lg Hausens
colinardo
colinardo 03.06.2014 aktualisiert um 16:52:16 Uhr
Goto Top
wie soll ich denn wissen wie euer CRM die Dokumente verarbeitet ?? Irgendwie wird dein Vorhaben nicht so ganz klar.
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
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
hausens
hausens 04.06.2014 um 08:32:47 Uhr
Goto Top
Hallo,

Nein ich verwende zZ noch keine VBA Skripts.
Zur Veranschaulichung:
1.) Im CRM wird ein Kunde ausgewählt.
2.) Durch klicken auf den Button – Formular erstellen – wird eine Wordvorlage geöffnet.
3.) In dem Formular sollen bereits einige Daten ausgefüllt werden – z.B.: Name, Strasse, Ort
3.1) Das CRM bietet die Möglichkeit diese, im CRM hinterlegte Daten, per Textmarken beim öffnen des Dokuments mitzugeben. Wenn ich das mache, i-wo in der Worddatei, funktioniert es.
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.

LG
Hausens
colinardo
colinardo 04.06.2014 um 08:46:55 Uhr
Goto Top
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
hausens
hausens 05.06.2014 um 08:02:51 Uhr
Goto Top
Morgen,

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. Über den Tag gebe ich den Namen an, und mit dem Tool „Word 2007 Content Control Toolkit“ weise ich dann die Tags den XML zu. Aber wie mache ich dass nun mit den „alten“ Formularfeldern welche du genommen hast? Dort kann ich keine Textmarken eintragen.

Wie kann man das Realisieren?

LG
Hausens
colinardo
colinardo 05.06.2014 aktualisiert um 08:51:17 Uhr
Goto Top
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 ersetzen
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
Grüße Uwe