Hallo Konservatorium,
heißt Du wirklich so? Realnamen sind hier in dieser Liste gewünscht.
> 1. Eine Tabelle aus einer Datenbank laden und in eine Tabelle einfügen.
sub Datenaktualisierung
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "DbName"
args1(0).Value = "Import1"
dispatcher.executeDispatch(document, ".uno:SelectDB", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DataAreaRefresh", "", 0, Array())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Nr"
args3(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$A$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())
end sub
_________________________
Das alles hat mir der Makrorecorder ausgeworfen. Ich habe lediglich das
gemacht, was ich zum Aktualisieren dieser Tabelle benötige. Das habe ich
aufzeichnen lassen und lasse es jetzt über
Extras - Anpassen - Ereignisse
ablaufen. Die einmal eingefügte Datentabelle wird so aus der Datenbank
aktualisiert, wenn das Dokument geöffnet wird. Benutze ich sozusagen als
Bericht.
Ich habe vorher
den Datenbankbrowser geöffnet,
die fragliche Abfrage auf Tabellenblatt 1 gezogen,
über der erfolgten Abfrage noch eine Zeile eingefügt für die Überschrift,
die Folgezeilen formatiert
und dann erst einmal abgespeichert.
Nach dem erneuten Laden habe ich dann das Makro aufgezeichnet.
Der Bereich, den ich aktualisieren ließ, heißt "Import1", die Datenbank, die
an das Dokument angebunden ist, hört auf den Namen DbName.
Bei den anderen Punkten, die Du mit Makro erledien willst, würde ich zu den
Normalfunktionen von StarCalc greifen.
Kleiner Hinweis zu "Java ist nicht anwenderfreundlich"
- Die Programmiersprache für die Makros ist in der Regel OpenOffice.org Basic;
alternativ kannst Du z.B. auch Python nehmen - nur wie die Anbindung da ist
weiß ich noch weniger.
- Ich empfinde OpenOffice.org Basic als nicht allzu weit entfernt von
JavaScript und PHP - mit letzterem hatte ich bereit viel zu tun.
- Die geschriebenen Anleitungen dazu sind selten für Anfänger geeignet - es
fehlt der Übergang von "Zu einfach." nach "Was soll das denn alles." Und dass
das fehlt liegt wohl auch an uns, den Anwendern, die Erfahrungen, auch
missglückte Dinge, weniger weitergeben als das Produkt, was schließlich
erstellt wurde. Die Dokumentation für andere ist letztlich immer das, an das
die Programmierer häufig erst nachher denken. Meine PHP-Scripte sind auch so,
dass ich mich frage, wann ich wohl vergessen habe, warum ich dies und das
denn so gemacht habe.
Gruß
Robert
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]