Module

Aus VBA-wiki
Zur Navigation springen Zur Suche springen

Module

Module müssen im Gegensatz zu Klassen und Formen nicht instanziiert werden, die enthaltenen Prozeduren können also jederzeit direkt ausgeführt werden.

Öffentliche Prozeduren können zudem von jedem anderen Modul (inklusive Klassen, Formen und referenzierenden Projekten) aus aufgerufen werden.

Der Nachteil hierbei ist jedoch, dass die Programmierung, wenn sie ausschließlich in Modulen stattfindet, sehr unübersichtlich werden kann, weil sämtliche öffentliche Prozeduren immer und überall als mögliche Befehle aufgeführt werden.

Folgende Aufgaben sind für den Einsatz in Modulen gerade wegen ihrer permanenten Verfügbarkeit prädestiniert:

  • Schnittstellen für die Benutzeroberfläche (z. B. Callback-Prozeduren des Menübandes)
  • Definition von benutzerdefinierten Typen, welche in mehreren Modulen, Klassen und/oder Formen zur Verfügung stehen sollen
  • Vorhalten von Daten und Eistellungen über einen Programmlauf hinaus
  • Steuerprozeduren (als Einstiegspunkt in Lösungen)
  • Bereitstellung von Ereignisklassen

Klassen

Siehe Klassenobjekte

Formen

Formen sind spezielle Klassenmodule, welche zusätzlich eine Oberfläche für die Interaktion mit dem Anwender zur Verfügung stellen.

Besonderheiten

Wenn Sie Formen exportieren, wird eine 'frm'- und eine 'frx'-Datei erzeugt.


frmDialog.frm

Die 'frm'-Datei enthält die Programmierung und kann wie eine 'mod'- und eine 'cls'-Datei mit einem beliebigen Texteditor betrachtet und bearbeitet werden.


frmDialog.frx

Die 'frx'-Datei ist eine Binärdatei und enthält die Definition der Oberfläche. Diese kann nicht mit einem Texteditor gelesen und bearbeitet werden.

Die 'frx'-Datei kann nicht direkt in ein Projekt importiert werden, wird aber beim Import der 'frm'-Datei automatisch vom VBA-Editor mitgeladen.

Bitte beachten:' Die 'frx'-Datei darf nicht gelöscht werden und muss sich im gleichen Verzeichnis wie die 'frm'-Datei befinden. Wenn sich die 'frx'-Datei nicht im gleichen Verzeichnis wie die 'frm'-Datei befindet, kann diese nicht importiert werden und ist somit unbrauchbar!