BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

Anfängerproblem mit JavaScript

Alles zur Programmierung im OpenOffice.org
Antworten
kodela
Beiträge: 107
Registriert: Di 22. Jul 2014, 20:08

Anfängerproblem mit JavaScript

Beitrag von kodela » So 2. Jul 2017, 14:43

Hallo,

es wäre nicht mein erstes Programm / Makro, das ich schreibe, aber mein erstes in JavaScript. Da für die ersten Schritte ja das "Hallo Welt"-Makro fast ein Muss ist, wollte ich damit auch unter Calc meine ersten Schritte machen und bin gescheitert.

Über die Menüoption Extras - Makros - Makros verwalten - JavaScript habe ich den Dialog "JavaScript Makros" geöffnet und dort unter dem Bezeichner des aktuellen Tabellendokuments (Str8ts) die Bibliothek "Library1" und darunter das "Macro1" erstellt. Damit wird gleichzeitig die Anzeige von "Hello World (in JavaScript)" vorgegeben.

Wenn ich nun das Macro1 ausführe, bekomme ich folgende Fehlermeldung:

"Ein Scripting Framewark Fehler trat während der Ausführung von JavaScript script Macro1.js auf.
Meldung: TypeError: Cannot call method "gettext" of null (<stdin>#55)"

Diese Meldung bezieht sich also auf die Codezeile 55 (xText = xTextDoc.getText();).

Was ist ursächlich für diesen Fehler?

Über den in diesem Script angebotenen Link

http://api.openoffice.org/docs/Develope ... work.xhtml

für mehr Informationen bekomme ich den 404-error.

Kann mir jemand über die erste Hürde bei meinem Einstieg in JavaScript unter OpenOffice Calc hinweg helfen?
Danke schon einmal vorweg.

Ich habe OO 1.1.3 installiert und arbeite mit Windows 10.

MfG, kodela

Nachtrag:

Wie ich gesehen habe, wird in dem folgenden Code:

Code: Alles auswählen

oDoc = UnoRuntime.queryInterface(XModel,XSCRIPTCONTEXT.getInvocationContext());
if ( !oDoc )
  oDoc = XSCRIPTCONTEXT.getDocument();
xTextDoc = UnoRuntime.queryInterface(XTextDocument,oDoc);
xText = xTextDoc.getText();
xTextRange = xText.getEnd();
xTextRange.setString( "Hello World (in JavaScript)" );
auf die if-Abfrage (if ( !oDoc )) die nachfolgende Zeile (oDoc = XSCRIPTCONTEXT.getDocument();) ausgeführt.

Das bedeutet also, dass das Problem bereits bei der Initialisierung von oDoc
(oDoc = UnoRuntime.queryInterface(XModel,XSCRIPTCONTEXT.getInvocationContext());)
liegt.

karolus
Beiträge: 651
Registriert: Di 23. Feb 2010, 12:07

Re: Anfängerproblem mit JavaScript

Beitrag von karolus » Mo 3. Jul 2017, 18:45

Hallo

Du führst das Ding offensichtlich nicht wie vorgesehen aus einem Writer-dokument heraus aus.
Ein Calcdokument hat nunmal keine Methode …getText()



nb. Wenn du in Python nichts gebacken kriegst, wird das auch JavaScript nix…

kodela
Beiträge: 107
Registriert: Di 22. Jul 2014, 20:08

Re: Anfängerproblem mit JavaScript

Beitrag von kodela » Di 2. Jan 2018, 10:17

Hallo karolus,

danke für Deine Hinweise und entschuldige bitte die sehr späte Reaktion meinerseits, aber es war vieles passiert, so dass meine Anfrage für mich in der Bedeutungslosigkeit verschwand.

Gruß, kodela

Antworten