Zeit ist Geld
Zeiterfassung mit OOBase
Das Makro einbinden
Das war's. Auf der Heft-CD und unserer Website [4] finden Sie den kompletten Code. Um mit dem Makro zu arbeiten, empfehlen wir Ihnen, die Subroutinen StartTiming() und EndTiming() in die Symbolleisten aufzunehmen. Starten Sie Writer und klicken Sie dort auf Extras | Anpassen. Wechseln Sie auf den Reiter Symbolleisten und klicken Sie auf Hinzufügen. Scrollen Sie im Bereich zum Eintrag OpenOffice.org Makros | Meine Makros | Standard | Module1 und wählen Sie rechts daneben bei Befehle Ihr Modul StartTiming aus. Klicken Sie noch einmal auf Hinzufügen und wiederholen Sie diesen Schritt mit dem Eintrag EndTiming. Beide Subroutinen stehen Ihnen anschließend über die Symbolleiste Standard zur Verfügung.
Verbesserungsvorschläge
Die beschriebene Lösung zur Zeitmessung ist schon nützlich, was aber nicht heißt, dass man sie nicht noch verbessern könnte. Hier noch zwei Ideen für diejenigen, die damit anfangen möchten:
- Wenn Sie eine Datenbank in OpenOffice.org registrieren, haben Sie von jeder Office-Anwendung aus über Ansicht | Datenquellen darauf Zugriff. Von hier aus sehen Sie nicht nur die Datensätze, sondern fügen diese auch in Ihr aktuelles Dokument ein. Diese Funktion können Sie dazu nutzen, beispielsweise eine Rechnung mit diesen Daten zu erstellen. Dazu wäre eine Rechnungsvorlage mit Feldern sehr nützlich, die sich Daten direkt aus der Datenbank holt.
- Eine Verbesserung wäre auch das Erstellen eines grafischen Frontends für die Zeiterfassungdatenbank, das Ihnen erlaubt, die Daten komfortabel zu durchsuchen und zu ändern. So könnten Sie Base zum Beispiel für einen Bericht nutzen, der Ihnen eine Übersicht über die insgesamt für alle Dokumente verbrauchte Zeit anzeigt.
Aber das ist noch nicht alles: Mit den hier beschriebenen Techniken erstellen Sie mühelos auch Ihre eigenen Lösungen. Werfen Sie zum Beispiel einen Blick auf das Listing im Kasten "Textschnipsel"[4]: Hier handelt es sich um ein einfaches Werkzeug, das Ihnen erlaubt, beliebige Textschnipsel aus Writer in der Datenbank zu speichern. Bei genauerer Betrachtung erkennen Sie, dass seine Struktur jener unserer Zeiterfassung verblüffend ähnlich sieht. Will sagen: Wenn Sie die Grundlagen kennen und verstanden haben, können Sie damit beginnen, Ihre eigenen Tools mit OpenOffice.org Basic zu entwickeln.
Textschnipsel
rem ——————————————————–
rem Makro zur Erfassung von Textabschnitten
rem aus LinuxUser Ausgabe 03/2008
rem ——————————————————–
Sub InsertTextSnippet()
ThisDoc=ThisComponent
TextSnippet=ThisDoc.CurrentController.getViewCursor
If TextSnippet.String ="" then MsgBox ("Bitte markieren Sie zuerst einen Textabschnitt!", , "Attention!") : End
DBContext=createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource=DBContext.getByName("Zeiterfassung")
ConnectToDB=DataSource.GetConnection ("","")
DateToday=Format(Year(Now), "0000") & "-" & Format(Month(Now), "00") & "-" & Format(Day(Now), "00")
SQLQuery="INSERT INTO ""basket"" " + "(""Snippet"", ""Date"") VALUES " + "('" + TextSnippet.String + "','" + DateToday + "')"
SQLStatement=ConnectToDB.createStatement
Result=SQLStatement.executeQuery (SQLQuery)
ConnectToDB.close()
ConnectToDB.dispose()
MsgBox ("Der Textabschnitt wurde gespeichert.", , "Alles erledigt!")
End Sub
rem — Ende des Makros ————————————
[1] Wikipedia über SQL: http://de.wikipedia.org/wiki/Sql
[2] W3Schools: http://www.w3schools.com/sql/default.asp
[3] SQL-Einführung: http://www.amazon.com/Sams-Teach-Yourself-Minutes-Third/dp/0672325675
[4] Listings zum Artikel: http://www.linux-user.de/Downloads/2008/03/



