37414
Goto Top

Euro-Zeichen in jedem neu erstellten Brief mit Word automatisch entfernen

Hallo,

ich habe ein Problem mit Word, bzw. mit dem €-Zeichen, welches bei Erstellung eines Word-Briefes automatisch eingesetzt wird.

Zur Info:
Das Word-Schreiben entsteht aus einer Word-Vorlage (.dotx) und es erhält automatisch Inhalte aus einer Datenbank.
Dort ist offenbar etwas nicht richtig programmiert, sodass zu jedem Euro-Betrag automatisch immer ein €-Zeichen mit eingefügt wird, was aber nicht so sein soll.

Beispiel:
Sie erhalten eine Zuwendung von 250,00 € Euro.


Könnte man über ein Word-Script automatisch bei der Erstellung jedes Word-Schreibens aus der entsprechenden Vorlage das €-Zeichen entfernen?
Und... wäre es darüber hinaus auch möglich, dass dann dort "250,-" steht, statt "250,00"?
Falls das nicht sofort bei der Erstellung des Word-Schreibens geht, wäre ggf. auch eine Tastenkombi möglich (aber natürlich weniger anwenderfreundlich) face-wink

Am Ende soll der Satz so aussehen:
Sie erhalten eine Zuwendung von 250,- Euro.


Danke und Gruß,
imebro

Content-Key: 495919

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

Ausgedruckt am: 29.03.2024 um 13:03 Uhr

Mitglied: erikro
erikro 18.09.2019 um 14:59:45 Uhr
Goto Top
Moin,

ich ahne mal, dass es sich dabei um ein Feld handelt, das dort eingefügt ist und mit den Daten befüllt wird. Dann kann man das auch formatieren. Ich vermute mal, dass auf Word-Seite eingestellt ist, dass es sich um ein Währungsformat handelt. Das könnte man dann umstellen auf ein reines Zahlenformat. Klicke mal mit der rechten Maustaste auf die Zahl und schalte die Feldfunktionen ein. Dann siehst Du, was da wirklich steht. Poste das mal hier und wir sehen weiter.

Liebe Grüße

Erik
Mitglied: Kraemer
Kraemer 18.09.2019 um 15:04:53 Uhr
Goto Top
Moin,

Zitat von @37414:
Dort ist offenbar etwas nicht richtig programmiert, sodass zu jedem Euro-Betrag automatisch immer ein €-Zeichen mit eingefügt wird, was aber nicht so sein soll.
ohne das Programm jetzt zu können, behaupt ich mal, dass da nichts falsch programmiert worden ist, das € gewollt ist, du dafür aber Ansprüche stellst, die so nie versprochen wurden face-smile


Gruß
Mitglied: 37414
37414 18.09.2019 um 15:50:11 Uhr
Goto Top
@ erikro:
Danke für die Info. Wenn ich die Vorlage öffne und auf diesen Teil mit der rechten Maustaste klicke, dann habe ich keine Auswahlmöglichkeit, um die Feldfunktionen zu öffnen. Ggf. handelt es sich dabei nicht um eine Feldfunktion, sondern um etwas anderes.

Dort steht:
X.Zuw_Summe

@ Kraemer:
Danke auch für den Kommentar. Aber welche (wirklich gute) Programmier-Firma würde die Angabe eines Betrages schon so programmieren, wie hier dargestellt? face-wink Das war von Anfang an ein Problem, aber aus Gründen, die ich hier nicht schreiben möchte, wird mit der Firma nicht mehr zusammengearbeitet. Daher hängen wir jetzt mit dem Problem alleine da...

Vielleicht kommen wir ja gemeinsam dem Problem näher.

Gruß
imebro
Mitglied: Pjordorf
Pjordorf 18.09.2019 um 15:53:32 Uhr
Goto Top
Hallo,

Zitat von @37414:
Sie erhalten eine Zuwendung von 250,00 € Euro.
Oder auch 250 EUR oder 250 Euro
https://www.sekada.de/din-5008/din-lexikon-a-z/artikel/din-5008-so-schre ...

Sie erhalten eine Zuwendung von 250,- Euro.
Dies ist keine gültige darstellungen
https://www.din-5008-richtlinien.de/startseite/zahlen/
Das letztemal das ich das so gesehen hab war aufm Weihnachtsmarkt wo noch der Bauer selbst stand.face-smile

Gruß,
Peter
Mitglied: erikro
erikro 18.09.2019 um 16:03:55 Uhr
Goto Top
Moin,

Zitat von @37414:
Dort steht:
X.Zuw_Summe

Schlecht. Dann ist das kein Feld, sondern ein Platzhalter, der nicht befüllt, sondern ersetzt wird. Dann steht in Deinem Text auch wirklich die Zahl, dahinter das 00 und das Eurosymbol. Nur mal so zum Verständnis. Da steht in der Vorlage das ohne € und Euro dahinter und im Ergebnis dann

250,00 € Euro

Das ist wirklich bescheuert. face-wink Die einfachste "Lösung", die mir einfällt, wäre ein Suchen und Ersetzen. Suche nach

,00 €

ersetze mit

,-

Aber wirklich praktisch ist das nicht.

Liebe Grüße

Erik
Mitglied: 37414
37414 18.09.2019 um 16:05:38 Uhr
Goto Top
@ Pjordorf:
Danke für die Links.
Allerdings haben wir hier die Vorgabe --> 250,- Euro und daher soll es auch genau so aussehen face-wink

Danke und Gruß,
imebro
Mitglied: 37414
37414 18.09.2019 aktualisiert um 16:10:48 Uhr
Goto Top
@ erikro:

Danke Dir abermals.
Ja, dann dürfte es ein Platzhalter sein.

In der Vorlage sieht es so aus:
X.Zuw_Summe Euro.

Nach dem Platzhalter steht also einfach nur das Wort "Euro". Das €-Zeichen taucht in der Vorlage nicht auf.

Wenn das "Suchen und Ersetzen" per Makro geht, welches automatisch beim Öffnen der Vorlage diese Änderung durchführt, wäre es ja anwenderfreundlich. Nur... wie setzt man das um?

Gruß,
imebro
Mitglied: Kraemer
Lösung Kraemer 18.09.2019 um 16:09:31 Uhr
Goto Top
Zitat von @37414:
Allerdings haben wir hier die Vorgabe --> 250,- Euro und daher soll es auch genau so aussehen face-wink
schnell den Makrorekorder angeschmissen
,00 € Euro ersetzen durch ,– € Euro
€ Euro ersetzen durch Euro
Das Makro auf nen Button werfen und fertig.
Mitglied: 37414
37414 18.09.2019 um 16:12:29 Uhr
Goto Top
Danke Dir...

Und das ginge auch automatisch beim Start des Dokumentes?
Wenn also dieser Brief (über die Vorlage) geöffnet wird, startet das Makro automatisch?

Gruß
imebro
Mitglied: Kraemer
Kraemer 18.09.2019 um 16:15:57 Uhr
Goto Top
Zitat von @37414:

Danke Dir...

Und das ginge auch automatisch beim Start des Dokumentes?
Wenn also dieser Brief (über die Vorlage) geöffnet wird, startet das Makro automatisch?
logischer Weise nicht, weil das Dokument beim öffnen noch gar nicht fertig ist.

Mach aus dem Button für das Makro einen Druck-Button - pack das Drucken in den Makro mit rein und alles ist tutti.
Mitglied: Pjordorf
Pjordorf 18.09.2019 um 16:16:30 Uhr
Goto Top
Hallo,

Zitat von @37414:
Nach dem Platzhalter steht also einfach nur das Wort "Euro". Das €-Zeichen taucht in der Vorlage nicht auf.
Weil dein OS schon dein Währungssymbol kennt. Könnte man auch ändern... Und da du dort ein Platzhalter einsetzt welches als Einheit (im OS) ein € definiert hat...

Gruß,
Peter
Mitglied: 37414
37414 18.09.2019 um 16:25:56 Uhr
Goto Top
OK und danke @Kraemer.
Werde ich dann gleich morgen so machen.
Habe schon ein fertiges Druck-Makro, welches über einen speziellen Button ausgeführt wird.
Das würde ich dann einfach durch das eben erstellte Makro ergänzen.

Danke und Gruß,
imebro
Mitglied: erikro
erikro 18.09.2019 um 16:31:56 Uhr
Goto Top
Moin,

Zitat von @Pjordorf:
Nach dem Platzhalter steht also einfach nur das Wort "Euro". Das €-Zeichen taucht in der Vorlage nicht auf.
Weil dein OS schon dein Währungssymbol kennt. Könnte man auch ändern... Und da du dort ein Platzhalter einsetzt welches als Einheit (im OS) ein € definiert hat...

Was allerdings den Nachteil hätte, dass es dann auch in allen anderen Programmen fehlte, wenn man ein Währungsformat einstellt.

Liebe Grüße

Erik
Mitglied: 37414
37414 19.09.2019 um 08:21:05 Uhr
Goto Top
Hallo und guten Morgen.

Habe es jetzt zunächst mal so gelöst, dass ich ein Makro erstellt habe, welches per "Suchen + Ersetzen" auch gleich mehrere Änderungen durchführt (also mehrere falsche Zahlen mit dem €-Zeichen). Das habe ich dann über die Word-Optionen / Menü anpassen zu einem Icon gemacht und das liegt jetzt oben in der Menü-Leiste. Ein Klick genügt zukünftig, um alle falsch übernommenen Beträge zu korrigieren.

Danke für Eure Hilfe.

Gruß,
imebro
Mitglied: 37414
37414 19.09.2019 aktualisiert um 12:48:37 Uhr
Goto Top
Hallo nochmal...

Wir haben uns jetzt intern auf die Lösung nach DIN 5008 entschieden.
Somit soll zukünftig z.B. "100 Euro" in den Schreiben stehen.
Es gibt aber auch Schreiben, in denen vielleicht "100,11 Euro" erfaßt sind.

Wie mache ich das jetzt mit meinem Makro?

Im Moment steht es so in meinem Makro:

 With Selection.Find
        .Text = ",00 € Euro"  
        .Replacement.Text = " Euro"  
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With

Gibt es eine Art Platzhalter für die Nachkommastellen?
Z.B. sowas im Makro: ",## € Euro"

Habe schon im Internet recherchiert und mit verschiedenen Platzhaltern getestet, aber bisher ohne Erfolg face-sad

Und wie müßte das Makro am Ende aussehen, damit beide Möglichkeiten berücksichtigt werden (,00 und ,11)?

Danke und Gruß,
imebro
Mitglied: 140913
140913 19.09.2019 aktualisiert um 12:55:42 Uhr
Goto Top
Man kannnst sich's aber echt auch umständlich machen ... face-big-smile face-big-smile
Z.B. sowas im Makro: ",## € Euro"
,[0-9][0-9] € Euro
Codeoption zur Verwendung für Platzhalter nicht vergessen!!
.MatchWildcards = True
p.s. Hier findet man die Bedeutungen der Sonderzeichen

screenshot
Mitglied: 37414
37414 19.09.2019 aktualisiert um 13:13:19 Uhr
Goto Top
Danke Dir @140913.

Aber das Ergebnis ist nun folgendes:

Eine Summe von 100,[0-9][0-9] Euro

Die wildcard-Einstellung hatte ich vorher schon auf "True" eingestellt

LG
imebro
Mitglied: 140913
140913 19.09.2019 aktualisiert um 13:14:03 Uhr
Goto Top
Mitglied: 37414
37414 19.09.2019 aktualisiert um 13:18:41 Uhr
Goto Top
...die Seite hatte ich auch schon gefunden. Daher hatte ich ja auch schon wildcards auf "True" eingestellt.
Der Rest der Seite macht mich leider nicht schlauer face-wink

Ich poste hier mal das komplette Makro:

Sub Euro()
'  
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    
    With Selection.Find
        .Text = ",00 € Euro"  
        .Replacement.Text = " Euro"  
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    
    Selection.Find.Execute Replace:=wdReplaceAll
    
    With Selection.Find
        .Text = ",[0-9][0-9] € Euro"  
        .Replacement.Text = ",[0-9][0-9] Euro"  
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = True
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Vielleicht ist es ja auch falsch, dass ich 2 "With Selection.Find"-Bereiche dort eingesetzt habe...
Der erste Teil davon funktioniert ja perfekt!!

Auch die folgende Seite hat mich nicht wirklich weiter gebracht. Alle Versuche haben auch kein richtiges Eregebnis gebracht.
Link

Wie macht man es dort richtig?

Danke und Gruß,
imebro
Mitglied: 140913
140913 19.09.2019 aktualisiert um 13:30:03 Uhr
Goto Top
Lass den ganzen Mist weg und Suche nach "€ Euro" und ersetze es durch "Euro" , fertsch. Oder per Regex. Warum ihr es mit Feldern und Formatierung gleich richtig macht bleibt wohl euer Geheimnis.
Man kann sein Auto auch in den Urlaub schieben, statt sich rein zu setzen...

Ciao.
Mitglied: 37414
37414 19.09.2019 aktualisiert um 13:38:51 Uhr
Goto Top
Danke Dir...

Aber wenn ich es so mache, wie Du schreibst, steht dort entweder

eine Summe von 100,00 Euro

oder

eine Summe von 100,11 Euro

Letzteres ist ja korrekt. Aber oben soll eben 100 Euro stehen (also ohne ,00), wie es ja auch die DIN 5008 vorgibt.

Gruß
imebro
Mitglied: 140913
Lösung 140913 19.09.2019 aktualisiert um 13:42:30 Uhr
Goto Top
Das war mir nicht klar das so gewünscht, dann halt zwei Durchläufe, erst die mit den Nullen,
        .Text = ",00 € Euro"  
        .Replacement.Text = " Euro"  
und danach den Rest mit einem erneuten Durchlauf
        .Text = "€ Euro"  
        .Replacement.Text = "Euro"  
Fertsch.
Mitglied: 37414
37414 19.09.2019 um 13:46:32 Uhr
Goto Top
Nochmals danke...

So geht´s.
Nun habe ich die korrekten Ergebnisse.

Entweder "100 Euro" oder "100,11 Euro". So sollte es auch sein.

Danke und Gruß,
imebro