Erste Schritte Kapitel 13 Einführung in Makros

classic Classic list List threaded Threaded
5 messages Options
Mathias Foerster Mathias Foerster
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Erste Schritte Kapitel 13 Einführung in Makros

Sehr geehrte Damen und Herren,

bin dabei Basic für LibreOffice zu lernen. Mit dem Makro vom oben
genannten Dokument habe ich Probleme.

Diese Zeile "if ermittleIBAN(cBLZ.string, cKonto.string, IBAN)then" wird
mit folgendem Kommentar im sub setIban
bemängelt "Inadmissible value or data type. Data type mismatch."

Könnte da etwas nicht stimmen im makro?

--
Mit freundlichen Grüßen / Best Regards

Mathias Foerster

State Certified Mechanical Engineering Technician
Certified Network Administrator




Mathias Foerster, Tuendel 18, D 32791 Lage

Mobile: +49  175 591 938 4

E-Mail :  [hidden email]


--
Liste abmelden mit E-Mail an: [hidden email]
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/discuss/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Gerhard Weydt Gerhard Weydt
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Erste Schritte Kapitel 13 Einführung in Makros

Hallo Mathias, *,

da da Kapitel im Wesentlichen von mir stammt, werde ich mich darum kümmern.

Gerhard

Am 27.06.2017 um 19:53 schrieb Mathias Foerster:

> Sehr geehrte Damen und Herren,
>
> bin dabei Basic für LibreOffice zu lernen. Mit dem Makro vom oben
> genannten Dokument habe ich Probleme.
>
> Diese Zeile "if ermittleIBAN(cBLZ.string, cKonto.string, IBAN)then"
> wird mit folgendem Kommentar im sub setIban
> bemängelt "Inadmissible value or data type. Data type mismatch."
>
> Könnte da etwas nicht stimmen im makro?
>


--
Liste abmelden mit E-Mail an: [hidden email]
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/discuss/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Gerhard Weydt Gerhard Weydt
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Erste Schritte Kapitel 13 Einführung in Makros

In reply to this post by Mathias Foerster
Hallo Mathias,

in dieser Mailing-Liste ist man per Du.

Ich kann deine Fehlermeldung nicht nachvollziehen, allerdings habe ich
bei der Gelegenheit zwei kleine Fehler im Makro "ermittleIBAN" gefunden
(ich habe es wohl leicht redigiert, nachdem ich es getestet hatte, und
dabei geschlampt), so dass sich das Behandeln deiner Frage allein
deshalb schon gelohnt hat. Diese Fehler bringen aber andere
Fehlermeldungen als du nennst.
DIe beiden Fehler befinden sich ziemlich am Ende des Codes auf Seite 21:
- hinter "next" dürfen keine Punkte stehen
- in der nächsten Zeile muss es statt "rest4" (die Variable gibt es gar
nicht im Code) "rest" heißen. (Der selbe Fehler findet sich auf Seite 8.)

Ich habe ein neues Calc-Dokument angelegt, wie im Dokument beschrieben
die Makros setIBAN und ermittleIBAN (per Copy & Paste aus dem Kapitel
"Erste Schritte", mit den genannten Korrekturen) und den Dialog
angelegt, dann wie in Abb. 16 die drei Spaltenüberschriften eingegeben
(die aber im Programm nicht verwendet werden und nur der Orientierung
dienen) und in Zeile 2 eine fiktive Kontonummer und eine fiktive BLZ
eingegeben. Wenn ich dann das Makro setIBAN starte, wird der Dialog
geöffnet, ich gebe in beiden Feldern die "2" ein, dann wird die IBAN in
der Spalte "IBAN" eingetragen.

Ich schicke dir das Beispieldokument direkt an deine Mailadresse, weil
in dieser Mailingliste keine Anhänge möglich sind, damit du das
ausprobieren und vielleicht auch den Code vergleichen kannst. Ich
schicke auch das korrigierte Kapitel des Handbuchs mit, da sind
zusätzlich auch ein paar Schreibfehler im normalen Text korrigiert. Ich
werde auch veranlassen, dass die korrigierte Fassung zum Herunterladen
zur Verfügung steht.

Wenn du nicht siehst, was anders ist und den Fehler weiterhin erhältst,
kannst du mir auch (direkt) deine Datei schicken, dann schaue ich mir
das Problem im Original an.

Deine Anfrage hat mich auch deswegen gefreut, weil ich dadurch sehen
konnte, dass jemand sich mit dem Kapitel beschäftigt und die Arbeit
daran nicht umsonst war; man kriegt sowas ja sonst gar nicht mit. Das
Kapitel ist fast vollständig neu geschrieben, weil die alte Version sich
nur mit der nur eingeschränkt nutzbaren Aufzeichnung von Eingaben
(Makro-Recorder) beschäftigt hat. Die kann aber nur immer gleiche
Abläufe beschleunigen, bietet aber keine Möglichkeit für den Einsatz von
Prüf- und Verarbeitungslogik, Benutzerinteraktion usw. Wegen des
weitgehend neuen Textes ist aber auch die Gefahr von Schreib- und
sonstigen Fehlern größer, wie wir nun gesehen haben. Vielleicht habe ich
mal etwas vergessen zu schreiben, was für einen Anfänger wichtig wäre.
Wenn du da etwas entdeckst oder eine Frage hast, schreibe mir ruhig
direkt, das dient zur Verbesserung des Dokuments und kommt anderen
Lesern zugute.

Zum echten Lernen von Basic für LibreOffice ist das Kapitel sicher zu
wenig umfangreich, es sei denn, man hat schon vie Erfahrung mit dem
Programmieren, dann kann man sich vielleicht vieles zusammenreimen. Das
Kapitel sollte nur die Grundprinzipien vorstellen (die Makros müssen
natürlich trotzdem korrekt sein), damit ein Neuling abschätzen kann, ob
er sich mit der Thematik weiter beschäftigen will.
Aber eine umfassende Darstellung, wie sie die im Dokument genannten
Bücher von Krumbein und Marcelly/Godard darstellen, kann diese
Einführung nicht liefern. Leider gibt es in der
LibreOffice-Dokumentation kein entsprechendes Dokument (es müsste dann
schon auch 700 - 900 Seiten haben). Die Online-Hilfe bietet viele
hilfreiche Details, aber die Systematik des Programmierens lässt sich in
dieser Häppchen-Form der Dokumentation nur schwer unterbringen. Ich habe
selbst im Lauf meines Lebens in einigen Sprachen programmiert, aber ohne
die systematische Einführung dieser Bücher hätte ich mich deutlich
schwerer getan. Ein bisschen was von dieser Unterstützung wollte ich mit
meinem Kapitel vermitteln.

Ich wünsche dir aber, dass du amProgrammieren in Basic mit LibreOfffice
dranbleibst. Mir macht das immer sehr viel Feude.

Gruß

Gerhard

Am 27.06.2017 um 19:53 schrieb Mathias Foerster:

> Sehr geehrte Damen und Herren,
>
> bin dabei Basic für LibreOffice zu lernen. Mit dem Makro vom oben
> genannten Dokument habe ich Probleme.
>
> Diese Zeile "if ermittleIBAN(cBLZ.string, cKonto.string, IBAN)then"
> wird mit folgendem Kommentar im sub setIban
> bemängelt "Inadmissible value or data type. Data type mismatch."
>
> Könnte da etwas nicht stimmen im makro?
>


--
Liste abmelden mit E-Mail an: [hidden email]
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/discuss/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Jörg Schmidt-2 Jörg Schmidt-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Erste Schritte Kapitel 13 Einführung in Makros

Hallo,

> From: Gerhard Weydt [mailto:[hidden email]]

> Ich kann deine Fehlermeldung nicht nachvollziehen,

ich bin mir nicht ganz im Klaren ob das Problem nicht nur auf ein Missverständnis des Fragers zurückgehen kann, weil:

die Function(!) ermittleIBAN tritt nur an einer Stelle des PDF relativ verdeckt in Erscheinung (und das nicht zusammen mit dem angefragten sub setIban).
Prominent ist hingegen zweimal Sub(!) ermittleIBAN aufgelistet.

Ich vermute der Frager könnte deshalb Sub benutzt haben.

Als ich das gestern _so_ ausprobierte bekam ich teils die genannte Fehlermeldung, das aber komischerweise nicht immer, weshalb ich mich nicht zu Wort gemeldet habe.



Ich schreibe das weil mir das ein Mangel im PDF scheint, denn wäre ich Anfänger und würde nicht alles gründlich lesen wäre ich spontan geneigt Sub ermittleIBAN zu nutzen.



Gruß
Jörg


--
Liste abmelden mit E-Mail an: [hidden email]
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/discuss/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Gerhard Weydt Gerhard Weydt
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Erste Schritte Kapitel 13 Einführung in Makros

Hallo Jörg, Mathias, *,

das ist ein sehr guter Hinweis, egal, ob jetzt Mathias das so verstanden
hat oder nicht. Ich muss das ändern, damit man die sub und die Function
nicht verwechselt. Kenner merken das schnell, wegen der Parameter, aber
für Anfänger ist das verwirrend.
Wenn man mitten im Geschehen ist, merkt man so etwas oft gar nicht.

Danke

Gerhard

Am 29.06.2017 um 09:49 schrieb Jörg Schmidt:

> Hallo,
>
>> From: Gerhard Weydt [mailto:[hidden email]]
>> Ich kann deine Fehlermeldung nicht nachvollziehen,
> ich bin mir nicht ganz im Klaren ob das Problem nicht nur auf ein Missverständnis des Fragers zurückgehen kann, weil:
>
> die Function(!) ermittleIBAN tritt nur an einer Stelle des PDF relativ verdeckt in Erscheinung (und das nicht zusammen mit dem angefragten sub setIban).
> Prominent ist hingegen zweimal Sub(!) ermittleIBAN aufgelistet.
>
> Ich vermute der Frager könnte deshalb Sub benutzt haben.
>
> Als ich das gestern _so_ ausprobierte bekam ich teils die genannte Fehlermeldung, das aber komischerweise nicht immer, weshalb ich mich nicht zu Wort gemeldet habe.
>
>
>
> Ich schreibe das weil mir das ein Mangel im PDF scheint, denn wäre ich Anfänger und würde nicht alles gründlich lesen wäre ich spontan geneigt Sub ermittleIBAN zu nutzen.
>
>
>
> Gruß
> Jörg
>
>


--
Liste abmelden mit E-Mail an: [hidden email]
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/discuss/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Loading...