Ich möchte ein Open Office Plugin mit Python schreiben. Das Programm soll zusätzliche Funktionen einbinden, die ich per:
in Star Basic aufrufen kann.
Nun habe ich folgende Dateien erstellt:
rsapi.py
rsapi.rdb
META-INF/manifest.xml
Die rsapi.py sieht wie folgt aus:
Die manifest.xml:
Die rsapi.rdb wird aus einer *.urd Datei erstellt, die wiederum aus einer *.idl Datei erstellt wird.
Meine rsapi.idl Datei enthält:
Dies habe ich unter Windows mit dem idlc und dem remerge Programm kompilliert, dass beim Open Office SDK bei liegt.
Wenn ich nun die Dateien zippe und das Plugin installiere, gibt es keinen Fehler. Wenn ich aber nun den Basic Code ausführen möchte bekomme ich:
Würde mich über eine Lösung des Problems freuen. Habe inzwischen zu viel Zeit reingesteckt es ans laufen zu bekommen :/
MFG HKA
Code:
obj = createunoservice("pyuno.rsapi")
msgbox(obj.test(10))
in Star Basic aufrufen kann.
Nun habe ich folgende Dateien erstellt:
rsapi.py
rsapi.rdb
META-INF/manifest.xml
Die rsapi.py sieht wie folgt aus:
Code:
import unohelper
class rsapi(unohelper.Base):
def __init__(self, ctx):
self.ctx= ctx
self.multi = 10
def test(self, input):
return input*self.multi
g_ImplementationHelper = unohelper.ImplementationHelper ()
g_ImplementationHelper.addImplementation (rsapi,
"pyuno.rsapi",
("pyuno.rsapi",),)
Die manifest.xml:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest:manifest>
<manifest:file-entry manifest:full-path="rsapi.py" manifest:media-type="application/vnd.sun.star.uno-component;type=Python"/>
</manifest:manifest>
Die rsapi.rdb wird aus einer *.urd Datei erstellt, die wiederum aus einer *.idl Datei erstellt wird.
Meine rsapi.idl Datei enthält:
Code:
#ifndef __pyuno_rsapi_idl__
#define __pyuno_rsapi_idl__
module pyuno {
interface rsapi
{
short test([in] short input);
}; };
#endif
Dies habe ich unter Windows mit dem idlc und dem remerge Programm kompilliert, dass beim Open Office SDK bei liegt.
Wenn ich nun die Dateien zippe und das Plugin installiere, gibt es keinen Fehler. Wenn ich aber nun den Basic Code ausführen möchte bekomme ich:
BASIC runtime error.
Property or method not found.
Würde mich über eine Lösung des Problems freuen. Habe inzwischen zu viel Zeit reingesteckt es ans laufen zu bekommen :/
MFG HKA