VBA in eingener Anwendung

25/01/2008 - 20:54 von Jens Meyer | Report spam
Hallo,
ich hoffe dies ist die richtige Gruppe.

Zum Problem.
Ich habe eine recht unfangreiche Anwendung. Ich möchte sie noch flexibeler
gestalten und möchte den Benutzern die Möglichkeit geben, das mittels VBA
Ihre eigenen Scripte schreiben können.

Ich stelle mir es in der in etwa so vor:

Ich gebe eine Reihe Konstenten und Variablen vor

Der user schreibt sein Script in eines meiner Forms.. startet es..

und ich hole seine Ergebnisse ab, und verarbeite sie weiter.

Ich machte àhnlches schon einmal mit einer eigenen Scriprsprache, aber VBA
ist da ja viel flexibler.

Nun meine Frage:
1. Kann ich mittels meines Programmes (erstellt VS.NET 2003) auf VBA und
ergebnisse zugreifen
2. Kann ich ergebnisse von dort irgendwie wieder abholen
3. Geht das überhaupt, das er quasi als interpreter làuft ohne das extra
kompiliert werden muss

4. Falls dies nicht möglich ist, gitbt es evtl. ausgereifte Systeme auf die
ich zurückgreifen kann, die die von mir gewünschten Eigenschaften liefern?

Vielen Dankt und viele Grüsse,
Jens Meyer
service@casinobot.de
 

Lesen sie die antworten

#1 Kerem Gümrükcü
25/01/2008 - 22:27 | Warnen spam
Hallo Jens,

ich versuche mal deine Fragen "straight" zu beantworten:.

Ich habe eine recht unfangreiche Anwendung. Ich möchte sie noch flexibeler
gestalten und möchte den Benutzern die Möglichkeit geben, das mittels VBA
Ihre eigenen Scripte schreiben können.



Muss es VBA sein? Kannst Du keine eigene Sprache dafür entwickeln.
So habe ich das bei meinem letzten Projekt gemacht, was sich sogar
nicht vermeiden làsst bei Eigententwicklungen. Das geht zu sehr in den
Bereich
des Parser- und Kompilerbaus, aber soviel dazu: Du hast meisten eigene
Objekte in deiner Applikation, oder willst deine eigenen Befehle haben.
Das làsst sch nur mit einer Eigenwticklung machen,...


Ich stelle mir es in der in etwa so vor:
Ich gebe eine Reihe Konstenten und Variablen vor


Eigententwicklung! Da geht es schon mal los,...

Der user schreibt sein Script in eines meiner Forms.. startet es..
und ich hole seine Ergebnisse ab, und verarbeite sie weiter.



Und wieder Eigentwicklung! Du kannst nicht VBA einfach nehmen
und abarbeiten, dazu brauchst Du einen eigenen Parser, oder
so was: http://www.vbarchiv.net/workshop/workshop55.php
VBA funktioniert nicht nach dem Prinzip, Du müsstest deine
eiegen Engine schreiben,...und davon rate ich Dir ab!

Ich machte àhnlches schon einmal mit einer eigenen Scriprsprache, aber VBA
ist da ja viel flexibler.


Nein, bleib bei deiner eigenen Sprache,...



Nun meine Frage:
1. Kann ich mittels meines Programmes (erstellt VS.NET 2003) auf VBA und
ergebnisse zugreifen


Ja, wenn Du auf sog. Server wie z.B. Excel zurückgreifst, oder das MS Office
selber
ist ein einziger Server. Du bràuchtest müsstest deinen eigenen Server
schreiben,
was wieder mit einen Parser enden würde,...


2. Kann ich ergebnisse von dort irgendwie wieder abholen


Ja, das hat mit COM schon immer geklappt, kennst Du ja,...

3. Geht das überhaupt, das er quasi als interpreter làuft ohne das extra
kompiliert werden muss


Ja, wenn Du eine eigene VBA Parser Engine hast,...aber die gibst net
einfach so,...



4. Falls dies nicht möglich ist, gitbt es evtl. ausgereifte Systeme auf die


i>ch zurückgreifen kann, die die von mir gewünschten Eigenschaften liefern?
Bau Dir deinen eigenen Parser mit eigenem internen Objekt-Baum und
Strukturen, Dein Programm ist schon kompilliert, d.H dein Programm
hat keine eigene VBA Egnine, sondern stützt sich auf die VB Runtime.


Die ganzen Aussagen haben keine Gültigkeit, wenn Du VB.NET
benutzt, da Du da mit Reflection und Dynamischem Code alles
machen kanst was Du willst, d.H. zur Laufzeit kompillieren von
beliebigen Code. NET und die Programmiersprache in dein
Programm selber einbetten, etcalles was das herz begehrt...

Bei deiner Frage bin ich erst mal von Visual Basic for Applications
ausgegangen,...das ist eh obsolete, oder sollte es für neue Apps
sein,...



Grüße

kerem

Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Microsoft Live Space: http://kerem-g.spaces.live.com/
Latest Open-Source Projects: http://entwicklung.junetz.de
"This reply is provided as is, without warranty express or implied."

Ähnliche fragen