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)" );
Das bedeutet also, dass das Problem bereits bei der Initialisierung von oDoc
(oDoc = UnoRuntime.queryInterface(XModel,XSCRIPTCONTEXT.getInvocationContext());)
liegt.