Module: Unterschied zwischen den Versionen

Aus VBA-wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „== Module == Module müssen im Gegensatz zu Klassen und Formen nicht instanziiert werden, die enthaltenen Prozeduren können also jederzeit direkt ausgeführt…“)
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== Module ==
== 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:
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)
* 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
* Definition von benutzerdefinierten Typen, welche in mehreren Modulen, Klassen und/oder Formen zur Verfügung stehen sollen
Zeile 18: Zeile 24:
=== Besonderheiten ===
=== 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!
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!

Version vom 10. Oktober 2018, 15:31 Uhr

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!