August 11, 2022, 05:17:36

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


VBA Code mit VBA Code bearbeiten

Begonnen von bungev, Mai 23, 2022, 14:02:50

⏪ vorheriges - nächstes ⏩

bungev

Hallo zusammen,

ich möchte einen VBA Code einbinden, mit dem ich dann den aktuellen VBA Code bearbeiten kann.

Was ich suche ist einmal

1. Den aktuellen Code kpl. markieren und meinem Code zur Überarbeitung übergeben
2. Den markierten Code durch meine Überarbeitung ersetzen
3. An die aktuelle Stelle einen ausgewählten Standardcode einfügen (hier sollen also immer wiederkehrende Grundgerüste wie bspw. den Zugriff auf eine Tabelle per RecordSet möglich sein. Vielleicht auch immer wiederkehrende Variablen oder ähnliches sollen eingefügt werden.

Meinen Bearbeitungscode würde ich in eine MDA packen die man dann als Add-Inn einbinden könnte. Dann soll noch der Aufruf der Möglichkeiten per Symbolleiste möglich sein. Das Erstellen dieser Symbolleiste sollte dann durch das Add-Inn passieren.

Kann mir hier jemand Tipps geben, ob so etwas möglich ist und ggf. einen kleinen Bsp-Code nennen?

Wäre sehr nett, wenn es hierzu eine Hilfe geben würde.

Vielen Dank

Volker

PhilS

Zitat von: bungev am Mai 23, 2022, 14:02:50Kann mir hier jemand Tipps geben, ob so etwas möglich ist und ggf. einen kleinen Bsp-Code nennen?
Ja, das ist möglich und zwar über Microsoft Visual Basic for Application Extensibility Bibliothek, die du als Verweis einbinden solltest.
Eine kurze Anleitung zum Einstieg findest du z.B. hier: Meta Programming in VBA

Deine Fragen decken ein ziemlich breites Spektrum ab. Ich würde empfehlen, du schaust die mal die o.g. Bibliothek an und fragst dann im einzelnen bei konkreten Problemen nach.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Josef P.

Juni 03, 2022, 08:54:39 #2 Letzte Bearbeitung: Juni 03, 2022, 08:59:35 von Josef P.
Hallo!

Vorab: Mz-Tools kennst du?

[etwas OT bezüglich Fragestellung, aber zum Thema passend]

ZitatAn die aktuelle Stelle einen ausgewählten Standardcode einfügen (hier sollen also immer wiederkehrende Grundgerüste wie bspw. den Zugriff auf eine Tabelle per RecordSet möglich sein. Vielleicht auch immer wiederkehrende Variablen oder ähnliches sollen eingefügt werden.

Ist ein Add-In, das wiederkehrende Grundgerüste (Code-Blöcke?) einfügt, der richtige Ansatz?
Ich würde hier eher eine Code-Bibliothek verwenden, die diese Blöcke kapselt und mit einem einfachen Aufruf nutzbar macht.
Über ein Add-In kann man dann bei Bedarf die Nutzung der Bibliothek einfügen.


Der Zugriff auf über ein Recordset sieht bei mir beispielsweise so aus:
'ADDOB:
with DbCon.ADODB.OpenRecordset(....)
  ... mach etwas mit den Daten
end With

'DAO:
with DbCon.DAO.OpenRecordset(....)
  ... mach etwas mit den Daten
end With
um das einzufügen, benötige ich kein Add-In, da ich die Methoden alle über Intellisense verfügbar habe.

Grüße
Josef

Beaker s.a.

Hallo Volker,
Mit Josef zusammen habe ich mal ein AddIn entwickelt, das die von
Philip aufgezeigte Bibliothek verwendet um ein komplettes Modul
in eine DB zu schreiben.
Kannst du dir auf Josefs Site runterladen: SqlDebugPrint und anschauen.

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

markus888

Zitat von: Beaker s.a. am Juni 03, 2022, 18:09:49das die von Philip aufgezeigte Bibliothek verwendet um ein komplettes Modul
in eine DB zu schreiben.

Na grauenvoll.
Wo bleibt denn da der Programmierer-Geist.
Da ist doch nix dabei die Funktionalität selbst zu programmieren, wenn man schon so lange dabei ist..
10 Jahre Access

Beaker s.a.

Hallo Markus,
Sorry, aber ich verstehe nicht, was du mir sagen willst.

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

markus888

Zitat von: Beaker s.a. am Juni 04, 2022, 12:04:47Sorry, aber ich verstehe nicht, was du mir sagen willst.

Dann vergiss es einfach.
10 Jahre Access

Beaker s.a.

Hm, schade.
Da bleib ich nun allein mit meinen Zweifeln.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.