Zum Inhalt

Aufzeichnen, Ausführen und Bearbeiten von VBA-Makros

Sie können VBA-Makros (Visual Basic for Applications) erstellen und ausführen, um Routineaufgaben zu vereinfachen und zu automatisieren.

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.

Makrobereich verwenden

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. Öffnen Sie das Dialogfeld „Makro ausführen“. Die Schritte hängen von Ihrem verwendeten Benutzeroberflächenmodus ab.

    Benutzeroberflächenmodus Vorgehensweise
    Multifunktionsleiste Klicken Sie in der Registerkarte Sitzung der Gruppe Makros auf Makro ausführen.
    Klassisch oder Klassische MDI Wählen Sie im Menü Makro den Eintrag Makros.
  2. 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 mit Extra! oder Reflection-Legacyprodukten erstellten Makros ausführen. Auch die meisten Makros, die mit Micro Focus Rumba-, IBM Personal Communications-, OpenText HostExplorer- und Brandon Systems/Jolly Giant QWS 3270-Produkten erstellt wurden, können ausgeführt werden. Beachten Sie jedoch, dass nur in vertrauenswürdigen Verzeichnissen gespeicherte Makros ausgeführt werden können.

Ausführen von Extra!- Makros in Reflection Desktop

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. Öffnen Sie das Dialogfeld „Makro ausführen“. Die Schritte hängen von Ihrem verwendeten Benutzeroberflächenmodus ab.

    Benutzeroberflächenmodus Vorgehensweise
    Reflection-Multifunktionsleiste Klicken Sie in der Registerkarte Makros in der Gruppe Erweitert auf Makro ausführen.
    Reflection-Browser Klicken Sie im Menü Reflection auf Extras, Makro und dann auf Makro ausführen.
    TouchUx Berühren Sie das Werkzeugsymbol, und wählen Sie dann unter Makro die Option Dialogfeld zum Ausführen von Makros anzeigen aus.
  2. Wählen Sie im Dialogfeld Makro ausführen den Makrotyp und danach das Makro aus, das Sie ausführen möchten.

    Makrotyp Beschreibung...
    Reflection-Arbeitsbereichmakro Makros im aktiven Sitzungsdokument anzeigen. Wählen Sie diese Option, wenn Sie Makros ausführen möchten, die in Reflection-Sitzungsdokumenten erstellt wurden.
    Um ein Makro im allgemeinen Projekt und in anderen Dokumenten auszuführen, wählen Sie die Option aus dem Menü Makros in aus:
    Reflection-Legacymakro Legacymakros im aktiven Dokument ausfü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 Makro in einer Datei für gemeinsame Makros (.rma) oder in einer Einstellungsdatei (.rsf, .r2w oder .r4w) angeben und ausführen.
    RB-Legacymakro Reflection Basic-Makro (.rbs) angeben und ausführen.
    RCL-Legacyskript RCL-Legacyskript angeben und ausführen. Diese Option ist nur in VT-Sitzungsdokumenten verfügbar.
    Extra!- Makro Extra!-Makrodatei (.ebm) angeben und ausführen.
    Rumba-Makro Micro Focus Rumba-Makrodatei (.rmc) angeben und ausführen.
    QWS-Makro Brandon Systems\Jolly Giant QWS3270-Makrodatei (.jgs) angeben und ausführen.
    IBM Personal Communications-Makro IBM Personal Communications-Makrodatei (.mac) angeben und ausführen.

    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.

  3. 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.

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)

Aufzeichnen eines Makros bei Verwendung der Reflection Desktop-Multifunktionsleiste

Aufzeichnen eines Makros bei Verwendung der klassischen Reflection Desktop-Benutzeroberfläche

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, 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. Wählen Sie diese Option aus, um ein Makro aufzuzeichnen. Die Schritte hängen von Ihrem Benutzeroberflächenmodus ab.

    Benutzeroberflächenmodus Vorgehensweise
    Multifunktionsleiste Klicken Sie in der Registerkarte Makros in der Gruppe Erweitert auf VBA-Makro aufzeichnen.
    Reflection-Browser Wählen Sie im Menü Reflection die Einträge Extras, Makro und dann VBA-Makro aufzeichnen.
    TouchUx Berühren Sie das Werkzeugsymbol, und wählen Sie dann unter Makro die Option VBA-Makro aufzeichnen aus.
  2. Führen Sie die Aufgabe(n) aus, die Sie automatisieren möchten.

  3. (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.

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

    Das Dialogfeld Aufzeichnung abgeschlossen wird angezeigt.

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

  6. 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.

  7. 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. Öffnen Sie das Dialogfeld „Makro ausführen“. Die Schritte hängen von Ihrem verwendeten Benutzeroberflächenmodus ab.

    Benutzeroberflächenmodus Vorgehensweise
    Multifunktionsleiste Klicken Sie in der Registerkarte Sitzung der Gruppe Makros auf Makro ausführen.
    Klassisch oder Klassische MDI Wählen Sie im Menü Makro den Eintrag Makros.
  2. Wählen Sie „Reflection-Arbeitsbereichmakro“ aus.

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

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. Öffnen Sie den Visual Basic-Editor. Die Schritte hängen von Ihrem verwendeten Benutzeroberflächenmodus ab.

    Benutzeroberflächenmodus Vorgehensweise
    Reflection-Multifunktionsleiste Klicken Sie auf der Registerkarte Makros auf Visual Basic.
    Reflection-Browser Klicken Sie im Menü Reflection auf Extras, Makro und dann auf Visual Basic.
    TouchUx Berühren Sie das Werkzeugsymbol, und wählen Sie dann unter Makro die Option Visual Basic aus.

    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 hinzu finden Sie unter 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.

Bearbeiten eines Makros

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

So bearbeiten Sie ein Makro

  1. Öffnen Sie den Visual Basic-Editor. Die Schritte hängen von Ihrem verwendeten Benutzeroberflächenmodus ab.

    Benutzeroberflächenmodus Vorgehensweise
    Reflection-Multifunktionsleiste Klicken Sie auf der Registerkarte Makros auf Visual Basic.
    Reflection-Browser Klicken Sie im Menü Reflection auf Extras, Makro und dann auf Visual Basic.
    TouchUx Berühren Sie das Werkzeugsymbol, und wählen Sie dann unter Makro die Option Visual Basic aus.

    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.

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-Arbeitsbereichmakro 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. Öffnen Sie das Dialogfeld „Reflection-Arbeitsbereicheinstellungen“. Die Schritte hängen von Ihrem verwendeten Benutzeroberflächenmodus ab.

    Benutzeroberflächenmodus Vorgehensweise
    Multifunktionsleiste Wählen Sie im Menü Datei oder über die Reflection-Schaltfläche (bei Verwendung der Office 2007-Darstellung) die Option Reflection-Arbeitsbereichseinstellungen aus.
    Reflection-Browser Wählen Sie im Menü Reflection die Option Einstellungen und dann Reflection-Arbeitsbereicheinstellungen aus.
    TouchUx Berühren Sie das Zahnradsymbol, und wählen Sie Reflection-Arbeitsbereicheinstellungen aus.
  2. Klicken Sie unter Arbeitsbereicheinstellungen auf Arbeitsbereicheinstellungen konfigurieren.

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

  4. Klicken Sie auf Aktion auswählen.

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

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

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

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. Öffnen Sie das Fenster „Einstellungen“. Die Schritte hängen von Ihrem verwendeten Benutzeroberflächenmodus ab.

    Benutzeroberflächenmodus Vorgehensweise
    Multifunktionsleiste oder Reflection-Browser Während in Reflection eine Sitzung geöffnet ist, klicken Sie auf der Schnellzugriffsleiste auf .
    TouchUx Tippen Sie auf das Zahnradsymbol und wählen Sie Dokumenteinstellungen aus.
  2. 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.

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

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

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.)