Hallo,
jetzt habe ich endlich Gelegenheit zu antworten. Schön, das sich tatsächlich in paar Leute für die klasse interessieren :-) Vielleicht schaffen wir es ja gemeinsam noch ein paar interessante Ideen zu entwickeln. Aber hier zu den einzelnen Punkten:
OLE-Automation Error:
---------------------
Gut das du ihn beseitigen konntest. Ich war schon verzweifelt, weil ich den Fehler nicht reproduzieren konnte. :-) Vielen Dank fürs ausprobieren.
Beenden von Excel
------------------------
Wie hier schon erwähnt wurde ist es ungünstig das quit in den destructor einzubauen, da man dann Excel auf jeden Fall nach Abschluss des Scripts schließt. Daher mein Kommentar, das ich den Destruktor deaktiviert habe. In den meisten Fällen in denen ich Excel-Reports erzeugt habe, wurde der fertige Excel-Report angezeigt und nicht im Backend weiterverarbeitet.
Zur Beendigung habe ich einfach die .quit Methode "durchgereicht". Was wäre denn der Zusatz in der erwähnten "EndExcel" Methode?
Erweiterungen
----------------------
Ich habe schon selbständig zwei Methoden hinzugefügt (V1.2.0):
Function setCellColor ( Sheet As Variant , row As Integer , column As Variant, innercolor As Variant )
Function setCellFont ( Sheet As Variant , row As Integer , column As Variant, style As Variant, size As Variant, color As Variant )
Anwendung: farbliches Hervorheben bestimmter Werte, z.B. Datumswerte schwarz anzeigen, es sei denn der Endstatus ist erreicht, dann grün und fett.
Erweiterungsvorschläge
----------------------
Der Vorschlag mit der DocumentCollection erscheint mir sinnvoll. Das heisst ich übergebe:
- eine DocumentCollection
- eine Liste der Spaltenüberschriften (Variant, Optional)
- eine Liste der zu exportiereden Items der Dokumente (variant)
Also so:
function exportNotesDocCollection (coll As NotesDocumentCollectionw, Sheet As Variant, OffsetRow As Integer, OffsetCol As Integer, FieldList As Variant, HeaderList as variant)
Was db.search angeht würde ich sagen sollte der User das ausserhalb der klasse machen und dann wieder die Collection übergeben. Und bei dem Vorschlag mit der Umsetzung von Werten über Formeln denke ich es ist einfacher (und sinnvoller) das im Dokument über verborgene Felder selber zu machen und dann erst die Klasse zu benutzen.
Fragen
------
Die Frage, die ich mir momentan stelle ist die nach der Fehlerbehandlung. Wie behandelt man Fehler in einer solchen Klasse? Jede Methode gibt einen Fehlercode zurück? Jede Methode erhält weitere parameter "ErrorCode"/"ErrorText", die mit dem Fehler gefüllt werden und sonst leer sind? Fehlervariablen, die Teil der Klasse selbst sind und über Methoden ausgelesen werden können?
Grüsse,
C.