Seite 1 von 1

Zahl in Text umwandeln für Spendenbescheinigung

Verfasst: Mi, 16.09.2015 17:30
von homerj
Hallo,

ich habe mich bislang noch nie mit Makro-Programierung beschäftigt. Ich möchte gern per Makro in Calc (ich nutze Version 4.0.1) Zahlen (bzw. Beträge) in Worte umwandeln. Hier viewtopic.php?f=2&t=11520 habe ich im Prinzip das gefunden, was ich suche. Wenn ich allerdings z.B. diese Funktion von Karo...

Code: Alles auswählen

function SchreibZifferfolge(n)as string
dim schrZiffer
dim s as string
schrZiffer() = Array ("null","eins","zwei","drei","vier","fünf","sechs","sieben","acht","neun")
for i = 1 to len(n)
s = s & schrZiffer(mid(n,i,1)) & "-"
next
schreibzifferfolge = left(s,len(s)-1)
End function
.. über den Aufruf

Code: Alles auswählen

SCHREIBZIFFERFOLGE(A1)
aufrufe, erscheint im entsprechenden Feld lediglich...

Code: Alles auswählen

#WERT!
Als Test habe ich einfach mal als Makro dieses gespeichert...

Code: Alles auswählen

REM  *****  BASIC  *****
Function test(ByVal n) As String

If (n = 5) Then
	test = "fünf"
End If	

If (n > 5) Then
	test = "mehr als 5"
End If

If (n < 5) Then
	test = "weniger als 5"
End If

End Function
... das funktioniert über den Aufruf

Code: Alles auswählen

=TEST(A1)
Hat jemand eine Idee, was ich falsch mache? Vielen Dank!!

Re: Zahl in Text umwandeln für Spendenbescheinigung

Verfasst: Mi, 16.09.2015 18:06
von nikki
Hallo,
der Macrocode von Karolus funktioniert. Was Du dabei falsch machst ist mir leider nicht bekannt.

Re: Zahl in Text umwandeln für Spendenbescheinigung

Verfasst: Mi, 16.09.2015 20:11
von F3K Total
Hi,
ich möchte dir noch diesen Beitrag empfehlen, ursprüngliche Codes von Andrew Pitonyak, die können nämlich folgendes:
ZAHL_IN_WORT.PNG
ZAHL_IN_WORT.PNG (6.49 KiB) 4424 mal betrachtet
Gruß R

Re: Zahl in Text umwandeln für Spendenbescheinigung

Verfasst: Mi, 16.09.2015 23:49
von Karolus
Hallo

Inzwischen gibts dafür Numbertext

Karolus

Re: Zahl in Text umwandeln für Spendenbescheinigung

Verfasst: Do, 17.09.2015 11:50
von homerj
F3K Total hat geschrieben:Hi,
ich möchte dir noch diesen Beitrag empfehlen, ursprüngliche Codes von Andrew Pitonyak, die können nämlich folgendes:
ZAHL_IN_WORT.PNG
Gruß R
Hallo Karolus,

genau diesen Beitrag hatte ich ja selber als Link angegeben. Da das direkt mit dem ersten Script von dir...

Code: Alles auswählen

function SchreibZifferfolge(n)as string
dim schrZiffer
dim s as string
schrZiffer() = Array ("null","eins","zwei","drei","vier","fünf","sechs","sieben","acht","neun")
for i = 1 to len(n)
s = s & schrZiffer(mid(n,i,1)) & "-"
next
schreibzifferfolge = left(s,len(s)-1)
End function
...schon nicht funktioniert, habe ich die anderen nur kurz mit dem gleichen Ergebnis ausprobiert. Ich weiss nicht, was ich falsch mache. Ich habe das folgendermassen gemacht:
  • Extras > Makros > Dialoge verwalten
  • Bibliotheken > Neu > Name eintragen und dann speichern
  • Module > Bibliothek auswählen > neues Modul anlegen > Name speichern
  • Neues Modul bearbeiten
  • "Quelltext" in den Bereich zwischen "Sub Main" und "End Sub" kopieren und dann speichern
  • Dann so wie im nachfolgenden Bild-Link ersichtlich eine Zahl ins Feld A1 eingetragen und in anderes Feld "=SchreibZifferfolge(A1)" eingetragen und dann auf Enter gedrückt
http://pasteboard.co/HIoVv3u.png

Vielen Dank!!

Re: Zahl in Text umwandeln für Spendenbescheinigung

Verfasst: Do, 17.09.2015 15:22
von gschuckar
Moin homerj,
habs gerade mal nachvolzogen, Ergebniss: Funktioniert.
homerj hat geschrieben: [*] "Quelltext" in den Bereich zwischen "Sub Main" und "End Sub" kopieren und dann speichern
Und das ist der Fehler. Nicht zwischen den Bereich Sub Main und End sub kopieren sondern überschreiben.
Sonst findet OpenOffice die Function schreibzifferfolge nicht, weil: Es gibt sie nicht. Es gibt sub main. Das ist aber keine Function.

Also: jetzt einfach die Zeilen sub main und end sub löschen. Dann sollte es gehen.
Gruß
Gerd

Re: Zahl in Text umwandeln für Spendenbescheinigung

Verfasst: Do, 17.09.2015 15:57
von homerj
Hallo Gerd,
Und das ist der Fehler. Nicht zwischen den Bereich Sub Main und End sub kopieren sondern überschreiben.
Genau, jetzt klappt es endlich. :D Super. Vielen Dank!!

Hat jemand vielleicht das Script schon dahingehend erweitert, dass auch Cent-Beträge (so in der Art "Fünfzehn 25/100" für EUR 15,25) ausgegeben werden?

Re: Zahl in Text umwandeln für Spendenbescheinigung

Verfasst: Do, 17.09.2015 17:39
von Karolus
homerj hat geschrieben: Hat jemand vielleicht das Script schon dahingehend erweitert, dass auch Cent-Beträge (so in der Art "Fünfzehn 25/100" für EUR 15,25) ausgegeben werden?
Hast du dir vielleicht schon die "Mühe" gemacht nachzuschauen was "hinter" dem von mir nachgereichten Link steckt ??

Code: Alles auswählen

= ... &TEXT(REST(A1;1);"??/100")

Re: Zahl in Text umwandeln für Spendenbescheinigung

Verfasst: Do, 17.09.2015 17:50
von homerj
Hallo Karo,
Hast du dir vielleicht schon die "Mühe" gemacht nachzuschauen was "hinter" dem von mir nachgereichten Link steckt ??
Ja, ich habe mir das kurz angeschaut - zumindest soweit möglich, da ich momentan nur Zugriff über einen Rechner in einem geschützen Firmennetzwerk, also ohne Downloadmöglichkeit habe. Kann das also im Moment nicht testen.
Ich frage auch deswegen nach, weil selbst für dieses "kleine Addon" ein innerbetrieblicher Software-Freigabeprozess durchlaufen werden müsste, den ich möglichst vermeiden möchte. Über eine Anpassung des Makros wäre dies denke ich nicht notwendig.

Vielen vielen Dank nochmal für deine Unterstützung!