[OOo-Basic] Newbie-Probleme

10/02/2009 - 18:30 von Jens Lenge | Report spam
Hallo Welt,

ich mache gerade erste Gehversuche damit, meine über Jahre erstellenten
Excel/VBA-Makros gen Calc/OOo-Basic zu portieren. Und schon stolpere ich
über merkwürdige Dinge:


1.
Ein Makro *aufzunehmen* führt zu völlig anders geartetem Quellcode als
alle Internet-Quellen: Wàhrend letztere àhnlich wie VBA mit Objekten und
Memberfunktionen arbeiten, generiert das Aufnehmen nur "komischen" Code,
der einen "dispachter"-Service anlegt und damit sàmtliche Aktionen mit
Array-Argumenten ausführt.

=> Scheint mir wesentlich unübersichtlicher. Hat das gegenüber der
"direkten" Verwendung des Objekmodells irgendwelche Vorteile?


2.
Ein kleines Beispiel soll alle aktuell markierten Zellen blau
hinterlegen. Mein Ansatz:

' option explicit
sub Test
' dim range as object
for each range in ThisComponent.GetCurrentSelection
range.CellBackColor = 10079487 ' Blue 8
next range
end sub

Obiges funktioniert prima, solange man die beiden auskommentierten
Zeilen weglàsst. Nimmt man sie hinzu, kommt beim Stezen der Farbe der
Fehler "BASIC runtime error. Property or method not found.".

Nun bin ich ein Freund explizit deklarierter Variablen und würde das
"option explicit" gern drinhaben. Aber *warum* geht es damit schief?

BTW: Kleine Zusatzfrage: Kennt OOo-Basic eigentlich für die üblichen
Farben "namhafte" Konstanten (so wie clBlack, clRed usw. in VBA)?


Wàr nett, wenn mir jemand "Starthilfe" geben könnte. Auch wenn jemand
eine passendere NG für OOo-Basic-Spezifisches kennt.

Jens
 

Lesen sie die antworten

#1 Regina Henschel
10/02/2009 - 20:54 | Warnen spam
Hallo Jens,

Jens Lenge schrieb:
Hallo Welt,

ich mache gerade erste Gehversuche damit, meine über Jahre erstellenten
Excel/VBA-Makros gen Calc/OOo-Basic zu portieren.



Ich habe im Moment keine Zeit mir die Probleme im Detail anzuschauen.
Aber wenn du gerade anfàngst, dann solltest du dir unbedingt das
XrayTool installieren. Es zeigt für einzelne Objekte die Properties,
Methods, Services und Interfaces.
http://ooomacros.org/dev.php#101416

mfG
Regina

Ähnliche fragen