3.6 Aufzeichnen, Ausführen und Bearbeiten von VBA-Makros

3.6.1 Ausführen von VBA-Makros

Sie können VBA-Makros, die in Ihrer Sitzungsdokumentdatei gespeichert sind, über den Makrobereich ausführen. Dies ist eine bequeme Möglichkeit, Ihre Makros zu verfolgen und auszuführen, ohne Schaltflächen zur Multifunktionsleiste hinzuzufügen. Sie können auch andere Arten von Makros über diesen Bereich ausführen, nachdem Sie sie im Dialogfeld „Makro ausführen“ ausgeführt haben.

Makros über den Makrobereich ausführen

Sie können den Makrobereich zum Ausführen von VBA-Makros verwenden, die in der Sitzungsdokumentdatei gespeichert wurden, oder zum Ausführen anderer Makros, beispielsweise referenzierte Makros, EML-Makros oder mit anderen Produkten erstellte Makros, die zuvor in der Sitzung ausgeführt wurden. Der Makrobereich ist eine praktische Möglichkeit, die für eine Sitzung anwendbaren Makros nachzuverfolgen und auszuführen, ohne Schaltflächen zur Multifunktionsleiste hinzuzufügen. Nur die Makros werden angezeigt, die auf die jeweils aktive Sitzung anwendbar sind.

So führen Sie Makros über den Makrobereich aus

  1. Klicken Sie auf der Registerkarte „Sitzung“ in der Gruppe „Makros“ auf „Makrobereich anzeigen“.

    Der Makrobereich enthält drei Registerkarten:

    Die Registerkarte Verfügbar zeigt die VBA-Makros, die in der Sitzungsdokumentdatei gespeichert sind.

    HINWEIS:Die Registerkarte „Verfügbar“ zeigt keine EML-Makros, mit anderen Produkten erstellte Makros oder sonstigen Makros an, die nicht in der Sitzungsdokumentdatei gespeichert sind.

    Die Registerkarte Vorherige zeigt alle Makros, die Sie zuvor in dieser Sitzung ausgeführt haben. Dies umfasst VBA-Makros und andere unterstützte Makros, die Sie ausgeführt haben, wie EML-Makros oder mit anderen Produkten erstellte Makros.

    Die Registerkarte Favoriten zeigt alle Makros, die Sie als Favorit gekennzeichnet haben.

  2. Um ein Makro auszuführen, bewegen Sie den Mauszeiger über das Makro und klicken Sie dann auf die Wiedergabe-Schaltfläche links neben dem Makro.

  3. Um ein Makro zu stoppen, klicken Sie auf die Stopp-Schaltfläche neben dem Makro.

  4. Um weitere Informationen zum Makro zu erhalten, bewegen Sie den Mauszeiger über das Makro.

    Für VBA-Makros werden in einer QuickInfo das VBA-Projekt und -Modul angezeigt, in dem das Makro enthalten ist.

    Für andere Makros werden in einer QuickInfo der Type des Makros und sein vollständig qualifizierter Dateiname angezeigt.

Makros über das Dialogfeld „Makro ausführen“ ausführen

Zur erstmaligen Ausführung von Makros, die nicht in der Sitzungsdokumentdatei gespeichert sind, müssen Sie das Dialogfeld „Makro ausführen“ verwenden. Nachdem Sie ein Makro einmal ausgeführt haben, können Sie es über die Registerkarte „Vorherige“ des Makrobereichs ausführen.

So führen Sie ein Makro über das Dialogfeld „Makro ausführen“ aus

  1. Wählen Sie den Makrotyp aus, den Sie ausführen möchten, und wählen Sie das Makro aus, um es zu öffnen.

    Das Makro wird ausgeführt.

    HINWEIS:Nachdem Sie das Makro einmal ausgeführt haben, können Sie es über die Registerkarte „Vorherige“ im Makrobereich ausführen.

In anderen Produkten erstellte Makros ausführen

Neben den in Reflection erstellten VBA-Makros können Sie auch die meisten Makros ausführen, die mit Extra! oder mit Reflection-Legacyprodukten erstellt wurden. Auch die meisten Makros, die mit Micro Focus Rumba-, IBM Personal Communications-, OpenText HostExplorer- und Brandon Systems\Jolly Giant QWS3270-Produkten erstellt wurden, können ausgeführt werden. Beachten Sie jedoch, dass nur in vertrauenswürdigen Verzeichnissen gespeicherte Makros ausgeführt werden können.

Im Dialogfeld Aktion auswählen stehen mehrere makrobezogene Aktionen zur Auswahl, z. B. zum Ausführen eines Reflection-Arbeitsbereich-Makros.

Sie können Makros auch ausführen, indem Sie die entsprechende Aktion einem Steuerelement zuordnen. Weitere Informationen finden Sie unter Hinzufügen einer Schaltfläche zum Ausführen eines Makros.

So führen Sie mit anderen Produkten erstellte Makros aus

  1. Wählen Sie im Dialogfeld Makro ausführen den Makrotyp und danach das Makro aus, das Sie ausführen möchten.

    HINWEIS:Optionen zum Ausführen von Legacymakros sind nur verfügbar, wenn die entsprechenden Kompatibilitätsfunktionen installiert wurden. Wenn Sie mit Extra! oder mit älteren Versionen von Reflection erstellte Makros aus externen Dateien ausführen möchten, müssen Sie außerdem im Dialogfeld API- und Makrosicherheit einrichten angeben, welcher Typ von Legacymakro ausgeführt werden soll.

    Reflection-Arbeitsbereich-Makro

    Zeigt Makros im aktiven Sitzungsdokument an. Wählen Sie diese Option, wenn Sie Makros ausführen möchten, die in Reflection- oder 2007 (SP1)-Dokumenten erstellt wurden.

    Wenn Sie ein Makro im allgemeinen Projekt und anderen Dokumenten ausführen möchten, wählen Sie im Menü Makros in die Option <Alle Standardprojekte> aus:

    Reflection-Legacymakros

    Wählen Sie diese Option, um Legacymakros im aktiven Dokument auszuführen. Zu diesen Makros gehören Legacyeinstellungsdateien (.rsf, .r2w oder .r4w) und in Reflection Sitzungsdokumente (.rd3x, .rd5x, .rdox), die aus Einstellungsdateien konvertiert wurden.

    Reflection-Legacymakro in anderer Datei

    Wählen Sie diese Option, um ein Makro in einer SharedMacro-Datei (.rma) oder in einer Einstellungsdatei (.rsf, .r2w oder .r4w) auszuführen.

    RB-Legacymakro

    Wählen Sie diese Option, um ein Reflection Basic-Makro (.rbs) auszuführen.

    RCL-Legacyskript

    Wählen Sie diese Option, um ein RCL-Legacyskript auszuführen. Diese Option ist nur in VT-Sitzungsdokumenten verfügbar.

    Extra!- Makro

    Wählen Sie diese Option aus, um eine Extra!-Makrodatei (.ebm) auszuführen.

    Rumba-Makro

    Wählen Sie diese Option, um eine Micro Focus Rumba-Makrodatei (.rmc) auszuführen.

    QWS-Makro

    Wählen Sie diese Option, um eine Brandon Systems\Jolly Giant QWS3270-Makrodatei (.jgs) auszuführen.

    IBM Personal Communications-Makro

    Wählen Sie diese Option, um eine IBM Personal Communications-Makrodatei (.mac) auszuführen.

  2. Wenn Sie kein Arbeitsbereich-Makro finden, wählen Sie im Fenster "Einstellungen" die Option VBA-Verweise einrichten aus, um das Dialogfeld "VBA-Verweis hinzufügen" zu öffnen. Überprüfen Sie dann die Liste auf fehlende Verweise (angegeben durch die Schaltfläche ). Nachdem Sie das Problem behoben haben (normalerweise eine fehlende Datei oder ein getrenntes Netzlaufwerk), schließen und öffnen Sie dann die Sitzung erneut.

3.6.2 Aufzeichnen und Löschen von VBA-Makros

Mithilfe von VBA-Makros können Sie in der Interaktion mit Hostanwendungen beispielsweise folgende Schritte automatisieren:

  • Senden von Daten an oder Eingeben von Text in eine Hostanwendung

  • Ausschneiden bzw. Kopieren und Einfügen von Text oder Daten aus einer Hostanwendung in eine andere

  • Wechseln zwischen den Registerkarten für verschiedene Hostanwendungen

  • Auswählen von Text mit der Maus oder Klicken der Maustaste zum Bewegen des Cursors (Mausklicks werden als Cursorpositionen aufgezeichnet.)

Folgende Vorgänge können nicht aufgezeichnet werden:

  • Interaktionen zwischen Reflection-Einstellungen und Produktivitätsfunktionen (wie "Rechtschreibprüfung", "Automatisches Erweitern" und "Automatisches Vervollständigen")

  • Aufbauen oder Trennen einer Hostverbindung

  • Interaktion mit Webanwendungen

  • Ausschneiden oder Einfügen von Text oder Daten zwischen einem Host und einer externen Anwendung (z. B. Windows Editor)

Bewährte Verfahren für das Aufzeichnen von Makros

Durch Befolgen der folgenden bewährten Verfahren beim Aufzeichnen Ihres Makros können Sie Probleme vermeiden, die gelegentlich bei einer langsameren Netzwerkverbindung auftreten können. Wenn Sie während der Aufzeichnung sehr schnell tippen oder in einer Sitzung so schnell schreiben, dass Ihre Eingabe im Eingabepuffer zwischengespeichert wird (type ahead), während Sie mit einer langsamen Netzwerkverbindung verbunden sind, kann dies dazu führen, dass das Makro auf unerwartete Weise wiedergegeben wird. Das Befolgen dieser bewährten Verfahren führt zu den besten Ergebnissen.

  • Planen Sie die Aufzeichnung im Voraus, um sicherzustellen, dass Sie wissen, welche Schritte Sie befolgen werden, welche Tasten Sie drücken werden und welche Host-Bildschirme erwartet werden.

  • Wenn Sie beim Aufzeichnen des Makros auf eine Taste gedrückt haben, um Daten an den Host zu übermitteln, warten Sie, bis der nächste Hostbildschirm vollständig angezeigt wird (oder sogar noch ein paar zusätzliche Sekunden), bevor Sie die nächsten Tasten drücken.

  • Wenn Ihr Makro nicht wie erwartet wiedergegeben wird, löschen Sie das Makro und zeichnen Sie es in langsamen und separaten Schritten erneut auf.

Die langsame und sorgfältige Aufzeichnung eines Makros führt nicht dazu, dass das Makro mit reduzierter Leistung ausgeführt wird. Makros werden während der Wiedergabe immer mit der schnellstmöglichen Geschwindigkeit ausgeführt. Das Aufzeichnen eines gut durchdachten und geplanten Makros führt zu den besten Ergebnissen.

So zeichnen Sie ein Makro auf

  1. Führen Sie die Aufgabe(n) aus, die Sie automatisieren möchten.

  2. (Optional) Wenn Sie die Aufzeichnung unterbrechen möchten, um eine andere Aufgabe auszuführen, klicken Sie auf Aufzeichnung anhalten. Klicken Sie erneut auf Aufzeichnung anhalten, wenn Sie die Aufzeichnung fortsetzen möchten.

  3. Klicken Sie nach Abschluss der Makroaufzeichnung auf Aufzeichnung beenden.

    Das Dialogfeld Aufzeichnung abgeschlossen wird angezeigt.

  4. Legen Sie einen Namen für das Makro fest und wählen Sie den Speicherort für das Makro.

  5. Wenn das Makro bei jeder Sitzungsverbindung ausgeführt werden soll, wählen Sie Dieses Makro als Verbindungsmakro anlegen aus.

    HINWEIS:Aufgezeichnete Makros können im Visual Basic-Editor bearbeitet werden. Weitere Informationen hierzu finden Sie unter Bearbeiten eines Makros.

  6. Wenn Ihr Makro nicht wie erwartet wiedergegeben wird, löschen Sie das Makro und befolgen Sie die bewährten Verfahren, um es erneut sorgfältig aufzuzeichnen.

So löschen Sie ein Makro

  1. Wählen Sie „Reflection-Arbeitsbereichmakro“ aus.

  2. Wählen Sie im Dialogfeld „Makros“ das Makro aus, das Sie entfernen möchten, und klicken Sie dann auf Löschen.

3.6.3 Erstellen eines Makros im Visual Basic-Editor

Erstellen Sie Makros nach Möglichkeit in Modulen. Dies unterstützt die Integrität und Stabilität Ihres Programms. Eine Ausnahme bilden lediglich Ereignisprozeduren, die Reflection-Objekten direkt hinzugefügt werden.

So erstellen Sie ein Makro im Visual Basic-Editor

  1. Öffnen Sie in Reflection ein Sitzungsdokument.

  2. Das Sitzungsdokument wird im Projekt-Explorer als Projekt angezeigt, zum Beispiel als "Project (Meine Sitzung.rd3x).".

  3. Wählen Sie im Projekt-Explorer das Projekt aus, in dem Sie das Makro speichern möchten, und wählen Sie dann Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Doppelklicken Sie auf das erstellte Modul.

    Das Fenster Code wird geöffnet.

  5. Wählen Sie Einfügen > Prozedur, geben Sie im Feld Name einen Namen ein, und klicken Sie dann auf OK.

    Der Name muss den Visual Basic-Benennungskonventionen für Makros entsprechen. Weitere Informationen hierzu finden Sie in Benennen von Makros.

  6. Geben Sie den Code für Ihr Makro zwischen den Anweisungen Sub (oder Public Sub) und End Sub ein.

    Zu den Visual Basic-Befehlen steht Ihnen eine kontextsensitive Hilfe zur Verfügung. Positionieren Sie die Einfügemarke in einem Befehl, und drücken Sie F1.

3.6.4 Bearbeiten eines Makros

Reflection-Makros können mit dem Visual Basic-Editor bearbeitet werden.

So bearbeiten Sie ein Makro

  1. Das Dialogfeld Makros wird angezeigt.

  2. Wählen Sie im Feld Makroname den Namen des zu bearbeitenden Makros aus, und klicken Sie auf Bearbeiten.

  3. Geben Sie die Makrobefehle im Visual Basic-Editor ein, und nehmen Sie die gewünschten Änderungen vor.

  4. Wählen Sie im Menü Datei den Befehl Speichern aus.

3.6.5 Ausführen eines Startmakros

Sie können ein VBA-Makro (Visual Basic for Applications) einrichten, das beim Starten des Reflection-Arbeitsbereichs und nicht beim Öffnen einer Sitzung und der Verbindungsherstellung zum Host ausgeführt wird.

Dies ermöglicht Ihnen, Informationen über die Verbindungsart der Benutzer zu sammeln, die Sie anschließend zum Konfigurieren der Sitzungseinstellungen verwenden können.

Sie können z. B. ein Startmakro erstellen, mit dem folgende Aufgaben ausgeführt werden:

  • Anzeigen eines VBA-UserForm-Dialogfelds, um Informationen vom Benutzer zu sammeln, bevor die Verbindung zum Host hergestellt wird

  • Lesen einer .ini-Datei

  • Prüfen der Host- oder Routerverfügbarkeit

  • Konfigurieren der Reflection-Einstellungen

    VORSICHT:Sie können nur Makros im allgemeinen Projekt konfigurieren, die beim Starten des Arbeitsbereichs ausgeführt werden. Konfigurieren Sie nicht die Aktion "Reflection-Arbeitsbereich-Makro ausführen", um ein Makro in einem Sitzungsdokument auszuführen (rd0x, rd3x, rd5x). Andernfalls kann Reflection nicht ordnungsgemäß gestartet werden.

So richten Sie ein Startmakro ein

  1. Klicken Sie unter Arbeitsbereicheinstellungen auf Arbeitsbereicheinstellungen konfigurieren.

  2. Wählen Sie unter Arbeitsbereich und Dokumente in der Liste Beim Starten des Arbeitsbereichs die Option Startaktion ausführen aus.

  3. Klicken Sie auf Aktion auswählen.

  4. Wählen Sie unter Aktion die Option Reflection-Arbeitsbereich-Makro ausführen aus.

  5. Wählen Sie unter Aktionsparameter die Option Makro auswählen aus.

  6. Wählen Sie im Feld Makro auswählen das Makro aus, das beim Starten von Reflection ausgeführt werden soll.

3.6.6 Einrichten von Makros, die vor oder nach Herstellen einer Hostverbindung ausgeführt werden

Wenn Sie ein Makro für Ihre Sitzung bzw. Ihren Arbeitsbereich erstellt haben, können Sie die Sitzung zum Ausführen eines Verbindungsmakros einrichten.

So richten Sie ein Verbindungsmakro ein

  1. Führen Sie im Dialogfeld Einstellungen eine der folgenden Aktionen aus:

    • (VT) Klicken Sie auf Verbindungseinstellungen konfigurieren.

    • (3270 oder 5250) Klicken Sie auf Erweiterte Verbindungseinstellungen konfigurieren.

  2. Wählen Sie unter Verbindungsaktion aus, ob das Makro vor oder nach der Erstverbindung ausgeführt werden soll.

  3. Klicken Sie auf Aktion auswählen, und wählen Sie das auszuführende Makro aus.

3.6.7 Benennen von Makros

Beachten Sie folgende Regeln bei der Benennung von Visual Basic-Makros (einschließlich Prozeduren, Konstanten, Variablen und Argumente):

  • Das erste Zeichen muss ein Buchstabe sein. (Bei Namen muss die Groß-/Kleinschreibung nicht berücksichtigt werden, Großbuchstaben werden jedoch beibehalten.)

  • Verwenden Sie ausschließlich alphanumerische Zeichen und den Unterstrich ( _ ). Leerzeichen und andere Symbole sind nicht zulässig.

  • Verwenden Sie höchstens 255 Zeichen.

  • Vermeiden Sie Benennungen, die Visual Basic- oder Reflection-Befehlen entsprechen. Wenn Sie jedoch tatsächlich einen Makronamen verwenden möchten, der mit einem Befehl übereinstimmt, müssen Sie den Befehl bei Bedarf vollständig qualifiziert angeben. (Geben Sie dazu vor dem Befehlsnamen den Namen der zugehörigen Typbibliothek ein. Wenn ein Makro beispielsweise den Namen "Beep" trägt, kann die Visual Basic-Anweisung Beep nur durch Eingabe von "VBA.Beep" aktiviert werden.

  • Die Makronamen innerhalb eines Moduls müssen eindeutig sein. Innerhalb eines Codemoduls kann jeweils nur ein Makro denselben Namen tragen. Es können nur dann zwei Makros mit demselben Namen vorhanden sein, wenn diese sich in unterschiedlichen Codemodulen befinden. Beispiel: Obwohl zwei Makros mit dem Namen "StartUp" nicht im selben Codemodul zulässig sind, sind zwei Makros mit dem Namen "StartUp" zulässig, sofern sie in unterschiedlichen Codemodulen vorhanden sind. Um ein Makro mit einem doppelt verwendeten Namen in einem anderen Codemodul aufzurufen, muss der Makroname vollständig angegeben werden. (Mit "Modul1.StartUp" wird beispielsweise das Makro "StartUp" in "Modul1" aufgerufen.)