Forum des VBA-Tutorials

JavaScript mit SVG in VBA (VBA)

Susa1989, Freitag, 01. Dezember 2017, 14:10 (vor 14 Tagen)

Hallo zusammen,

für private Zwecke programmiere ich derzeit eine Access DB (2016) und komme leider in VBA nicht weiter.
Ich komme aus der Data Warehouse Entwicklung und bin daher programmier-affin, kenne mich allerdings mit VBA nur rudimentär aus.

Konkret setze ich gerade ein Projekt um, bei dem der Nutzer Zugplätze über eine SVG Grafik interaktiv auswählen, reservieren und belegen kann. Im Grunde also sehr ähnlich zu dem Beispiel, das es unter "Interaktive Grafiken" im Access Tutorial gibt.

Als ersten Schritt möchte ich die in JavaScript eingebettete SVG in mein FrontEnd bringen. Ich habe dafür testweise den Quellcode dieser Seite genommen und ihn ein wenig angepasst (Anordnung der Sitze).

Ich habe in den Verweisen die Microsoft Script Control 1.0 eingestellt, in den Komponenten ist die Einstellung ebenfalls getroffen.

Kann mir die Community ein paar Denkanstöße geben, wie ich das mit VBA umsetze? Da im Tutorial ja bereits das Beispiel genannt wurde, ist diese Lösung auch schon einmal umgesetzt worden, sodass ich mir den Code ansehen könnte? Natürlich habe ich auch schon rumexperimentiert, JavaScript Einbindung mit Beispielcodes aus dem Internet funktioniert auch, aber sobald die SVG enthalten ist, laufe ich ins Leere.

Was habe ich bislang versucht:
- Erzeugen einer lokalen HTML und Einbinden in das Webbrowser Dokument: SVG ist nicht mehr animiert
- Ausführen eines VBA mit
Dim o As New ScriptControl
o.Language = "JScript"
und den JavaScript Anweisungen
- Verdacht war auch schon, dass meine Skripte nicht laufen weil ich auf einer 64 Bit unterwegs bin. Aber auch mit 32 komme ich nicht weiter.

Ich wäre sehr dankbar für einen kurzen "Fahrplan", wie ich vorgehen muss. Die Umsetzung kann ich mir sicher selber herleiten, mit Hilfe von Literatur und Experimenten.

Vielen Dank im Voraus! Susanne

JavaScript mit SVG in VBA

Martin Asal, Samstag, 02. Dezember 2017, 14:51 (vor 13 Tagen) @ Susa1989

Hallo Susanne,

ich muss zugeben, so etwas umzusetzen setzt einiges an Knowhow voraus, und ich war mir lange unsicher, ob ich dieses Beispiel überhaupt im Tutorial aufnehmen soll. Und wie ich gerade sehe, habe ich tatsächlich keinen Beispielcode zum Download bereitgestellt. Sorry.

Erst mal grob das Konzept: In HTML befindet sich SVG und Javascript, das von SVG aufgerufen wird, z.B.:

<rect onclick="bla('Hallo Welt')"/>

In einem Accessformular gibt es dann ein Wbbrowsersteuerelement, das dieses HTML anzeigt. Soweit alles ganz einfach.

Damit nun aber Access auf das Javascript-Ereignis reagieren kann, braucht es in VBA ein Klassenmodul, das die entsprechenden Elemente im HTML (hier also rect) mit WithEvents referenziert. Sonst kann VBA nicht auf Ereignisse in Javascript reagieren.

Wie gesagt, alles ein bisschen kompliziert. Wenn ich so darüber nachdenke, bin ich mir auch nicht mehr sicher, ob ich das Beispiel online lassen sollte. Aber wenn du möchtest und mit meinen Ausführungen nicht weiterkommst, schreibe mich an (über das Impressum), damit ich deine Adresse habe, und ich maile dir nächste Woche ein einfaches Beispiel.

Martin

JavaScript mit SVG in VBA

Susa1989, Mittwoch, 06. Dezember 2017, 09:50 (vor 9 Tagen) @ Martin Asal

Hallo Martin,

vielen Dank für deine zügige und ausführliche Antwort!

Ich denke, du solltest das Beispiel schon drin lassen. Denn mir wurde dadurch erst deutlich, was (wenn auch Know How vorausgesetzt) mit Access alles möglich ist.
Über eine Entwicklerplattform habe ich noch einen alternativen Weg als Tipp bekommen: Man kann es wohl auch mit Endlosformularen lösen. Ich hatte noch nicht die Gelegenheit das auszuprobieren. Aber ich denke das werde ich am Wochenende mal zu allererst machen. Auch wenn das dann sicherlich "gefrickel" ist mit lauter einzelner Elemente...

Falls der Plan B doch nicht in Frage kommen sollte, werde ich mich nochmal intensive mit der SVG Einbindung beschäftigen.

Danke!
Susanne

RSS-Feed dieser Diskussion
powered by my little forum