Code und Daten trennen

08/10/2007 - 20:44 von tohasremspam | Report spam
Hallo NG,

ich würde gern Code und Daten voneinander Trennen, falls man den Code
einmal àndern muss.
Als Möglichkeit sehe ich (wenn überhaupt) nur die Programmierung eines
Add-Ins (Oder gibt es noch andere Möglichkeiten?).
D.h., der Code (bzw. große Teile davon) steht im Add-In und die Daten
in der XLS-Datei.

Dazu habe ich folgende Fragen:

Ist dieses Unterfangen sinnvoll?

Kann ich beim Laden des Add-Ins im Add-In selbst eine Routine
automatisch ausführen, die in der XLS-Datei, in der das Add-In
steckt dynamisch Menüs kreiert und Startfunktionen hinterlegt?

Oder muss ich in meinem XLS-Dokument schon eine ausreichende Zahl
Dummy-Menüs und Dummy-Buttons mit "Funktionsrümpfen" hinterlegen,
deren Aufrufe dann in Funktion und Methoden des Add-Ins verzweigen?
In den Events der XLS-Datei müsste man dann sicherlich auch
Funktionsaufrufe hinterlegen, die direkt in das Add-In zeigen.

Was passiert mit dem Fokus, wenn Masken aus dem Add-In aufgerufen
weden?


Gruss Thomas
 

Lesen sie die antworten

#1 Reiner Wolff
08/10/2007 - 21:44 | Warnen spam
Nochmal moin Thomas,

*Thomas Hase* schrieb:
ich würde gern Code und Daten voneinander Trennen, falls man den Code
einmal àndern muss.
Als Möglichkeit sehe ich (wenn überhaupt) nur die Programmierung eines
Add-Ins (Oder gibt es noch andere Möglichkeiten?).



Imho keine sinnvollen, aber AddIns kannst Du auf zwei Arten erledigen:
- entweder ein Excel-AddIn als .XLA-Datei
- oder ein COM-AddIn mit Deinem VB6-Classic

Ist dieses Unterfangen sinnvoll?



Ja, absolut.
Sobald Du mehr Code verschlankst Du so jede einzelne XLS-Datei. Als Vor-
_und_ Nachteil ist auch/allerdings zu nennen, dass Du darauf achten musst,
mit dem Programm versionskompatibel zu bleiben.

Kann ich beim Laden des Add-Ins im Add-In selbst eine Routine
automatisch ausführen, die in der XLS-Datei, in der das Add-In
steckt dynamisch Menüs kreiert und Startfunktionen hinterlegt?



Ja.
Je nachdem für welches AddIn Du Dich entscheidest, sind die Ereignisse
unterschiedlich, aber gehen tut das.

Oder muss ich in meinem XLS-Dokument schon eine ausreichende Zahl
Dummy-Menüs und Dummy-Buttons mit "Funktionsrümpfen" hinterlegen,
deren Aufrufe dann in Funktion und Methoden des Add-Ins verzweigen?



Nein, das ist nicht notwendig.
Wenn die Funktionalitàten aber nur in bestimmten XLS-Dateien zur Verfügung
stehen sollen, könnte es sinnvoll sein, das AddIn erst mit diesen Dateien
zu laden oder in diesen Dateien eine "Initialisierung" für das AddIn
durchführen zu lassen.

Was passiert mit dem Fokus, wenn Masken aus dem Add-In aufgerufen
weden?



Hm, die Formulare erhalten den Fokus.
Sie werden IIRC als Child-Fenster von Excel angezeigt. Das weitere
Verhalten wird in den Eigenschaften der Formulare festgelegt.

Gruß aus Kiel
Reiner
"Programming is similar to sex. If you make a mistake,
you have to support it for the rest of your life."

Ähnliche fragen