Erste Gehversuche mit Basic scheitern... :-)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Erste Gehversuche mit Basic scheitern... :-)

THX

von JeanCantos » Di, 13.03.2007 19:01

Hallo Klaus,

vielen Dank für die hilfreichen Links. Werde mich jetzt ein bissel in die Weiten der OO-Programmierungsdokumentation begeben.

Gruß,

Jean

von kannenklaus » Di, 13.03.2007 14:48

hallo jean

der fehler liegt bei TextTables. so ist es richtig

Code: Alles auswählen

Table = Doc.createInstance("com.sun.star.text.TextTable")
beachte auch, dass die methode createInstance casesensitiv ist. einen (meiner meinung nach der beste) object-explorer ist das xray tool 5.2. zu finden:

http://sourceforge.net/project/showfile ... _id=101416

dann brauchst du noch das api bzw. das sdkzu finden:

http://api.openoffice.org/

http://api.openoffice.org/DevelopersGui ... Guide.html

http://www.starbasicfaq.de/index.html

beachte generell, dass das handbuch von sun mit den basic-code-beispielen oft fehlerhaft ist.

grüße
klaus

grüße
klaus

THX

von JeanCantos » Di, 13.03.2007 13:31

Hallo kannanenklaus,

vielen Dank für deinen Hinweis. Der Code akzeptiert zwar jetzt die eben angesprochene Zeile, bricht aber bei dem dann kommenden Code

Code: Alles auswählen

Table = Doc.createInstance("com.sun.star.text.TextTables")
mit der Fehlermeldung

"BASIC Laufzeitfehler
Es ist eine Exception aufgetreten
Type: com.sun.star.lang.ServiceNotRegisteredExceptionMessage"

Gibt es hier auch die Möglichkeit, sich die Methodenbeschreibung anzeigen zu lassen, sobald eine Methode markiert wird und beispielsweise F1 gedrückt wird (wie es in Office ist)?

Wenn nicht: Wo kann ich mir denn die ganzen Methoden und Eigenschaften nachlesen, die ich unter z.B. Writer benutzen kann?

Gruß,

Jean

[/img]

von kannenklaus » Di, 13.03.2007 13:14

hallo jean,
Doc = StarDesktop.CurrentComponent
verwende anstatt StarDesktop.....

Code: Alles auswählen

Doc=thisComponent
dann klappt es auch von der basic-ide aus.

grüße
klaus

Erste Gehversuche mit Basic scheitern... :-)

von JeanCantos » Mo, 12.03.2007 23:43

Hallo zusammen,

bin von MS Office auf OpenOffice umgestiegen und begeistert, wie einfach doch bestimmte Dinge hier gelöst wurden. Dass ich beispielsweise Tabellen über ihren Namen ansprechen kann, ist für mich eine Selbstverständlichkeit, die offenkundig die MS-Programmierer nicht mit mit teilen. :-)

Da ich bisher in VBA programmiert habe, möchte ich mich nun in OO-Basic einarbeiten. Dazu habe ich mir das Handbuch heruntergeladen und probiert, folgenden Code umzusetzen:

Code: Alles auswählen

Sub Main

Dim Doc As Object
Dim Table As Object
Dim Cursor As Object

Doc = StarDesktop.CurrentComponent
Cursor = Doc.Text.createTextCursor()
Table = Doc.createInstance("com.sun.star.text.TextTables")
Table.initialize(5, 4)
Doc.Text.insertTextContent(Cursor, Table, False)

End Sub
Aber irgendwie kommt ab der Zeile

Code: Alles auswählen

Cursor = Doc.Text.createTextCursor()
der Basic-Laufzeitfehler, dass Methode oder Eigenschaft nicht bekannt sein.

Ähmmm...was genau ist denn hier falsch, der Code wurde von mir 1:1 aus dem StarOffice 7 Handbuch kopiert.

Gruß,

Jean

Nach oben