|
Ich hoffe wenigstens ein bisschen helfen zu können, da ich kein VBA profi bin. Es gibt grundsätzliche Unterschiede, bei aller Ähnlichkeit.
VBA als eingebette Sprache hat sehr viele Befehle, weil der Zugriff auf die Anwendungen auch über spezielle Basic Befehle geschieht. BasicMaker bietet nur die Basic Grundbefehle, die nichts mit PlanMaker oder Excel oder sonstigen Anwendungen zu tun haben. Mit Anwendungen kommuniziert BasicMaker über OLE Objektstrukturen. Du kannst ansonsten auch auf die Win API Funktionen zugreifen, wie viele Sprachen.
SoftMaker Anwendungen stellen diverse Objekte dem OLE Zugriff frei. Jede OLE-fähige Programmiersprache hat Zugang dazu, nicht nur SoftMakers Basic. Auch VB wird das können, weiß nicht genau. Alle Skripte laufen jedenfalls in einer externen Skripting Engine, und laufen parallel zur Anwendung (PlanMaker z.B.).
Es ist nicht möglich Skripte an Ereignisse in Arbeitsblättern, Zellen, Buttons oder dgl. zu Koppeln, weil die Skript Engine und die Anwendung separate Ereignisschleifen besitzen. PlanMaker sendet nichts wie "hallo Skript, ich wurde erogen berührt!", sondern stellt nur "zur Verfügung". Das Skript kann / muss alle Zustände abfragen, wenn es läuft. Jedes Skript läuft als komplett eigene Anwendung auf dem Desktop, und wenn es auf SoftMaker zugreift, dann auf globaler Ebene über Windows OLE.
Das Bedarf, schätze ich, einiger Umstellung Deines Projekts.
Du könntest eine (Desktop-) Verknüpfung zu einem Skript erstellen, das PlanMaker startet, eine Datei laden lässt, und dann einen Dialog neben PlanMaker offen lässt (ähnlich Sidebar), in dem alle Funktionen zur Verfügung stehen. Wenn Tabelle 2 aktiv ist, im Skript Dialog aber eine Funktion für Tabelle 7 aufgerufen wird, wird das Skript Tabelle 7 nach vorne holen müssen, oder Du baust eine Prüfung ein "Falsches Blatt".
Oder Du baust ein Icon für die Symbolleiste, startest damit eine Hauptprozedur, die z.B. anhand der gerade aktiven Tabelle entsprechende Prozeduren und Dialoge aufruft mit passenden Aufgaben.
Ich schätze Du kannst auch alle Deine Module als eine externe Datei speichern. Darin, vermute ich, sind dann zig Zeilen mit lauter Subs und Functions drin, die großteils an diverse Excel-Ereignisse gekoppelt sind. Das ist das eigentliche Skript. Was das alles schön übersichtlich aufteilte, war meines Wissens der (hier: VBA-) Skript Editor. PlanMaker bietet keine Ereignisse und BasicMaker macht das nicht. Man kann aber ebenso andere Editoren benutzen, die sehr effektive Hilfen zur Strukturierung eines langen Skripts bieten. BasicMaker bleibt unverzichtbar zum Deguggen.
Um in's Detail zu gehen (Deine letzte Frage) sei Dir empfohlen die Hilfedatei von BM zu lesen, und zwar den Abschnitt über die Objektstruktur von PlanMaker (bzw. TextMaker). Dort sind alle momentan freigestellten Objekte aufgeführt, deren Eigenschaften und Methoden, sowie die jeweiligen unter- und übergeordneten Objekte. Das sollte sehr ähnlich VBA sein (Punktschreibweise).
SoftMaker Basic kann bei Bedarf noch erweitert werden für sehr komplexe Aufgaben. Die Programmierer sammeln ständig Info um den Ausbau zu planen. Könntest du freundlicherweise helfen, erzählen was Dein Skriptpaket - ganz Grob nur(!) - tut, und in welcher Arbeitsumgebung es benutzt wird? Danke!
_________________ SMO rev. 670 + Win XP Times without money are better than times without Mini - the original 
|