OFF97: Wie ein Dialogfeld "Jetzt Processing" beim Makro führt anzeigen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 162257 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt, wie Sie ein Dialogfeld anzeigen können, während ein Makro im Hintergrund ausgeführt wird. Der Zweck der Anzeige eines Dialogfelds ist, um dem Benutzer darauf hinzuweisen, dass die Anwendung während das Makro beschäftigt ist, ausgeführt werden.

Weitere Informationen

Wenn Sie die Show-Methode, verwenden um ein UserForm anzuzeigen, wird die UserForm "modal" angezeigt; die Benutzer muss zur UserForm vor der Verwendung jeder andere Teil der Anwendung reagieren. Nachdem eine UserForm geladen ist, wird keine nachfolgender Code ausgeführt, bis die UserForm entweder ausgeblendet oder entladen wird.

Um ein Dialogfeld anzuzeigen, und ermöglichen das Makro im Hintergrund ausgeführt wird, können Sie das Makro in das Activate-Ereignis der UserForm ausführen. Wenn die UserForm angezeigt wird, das Activate-Ereignis wird ausgelöst, und das Makro wird ausgeführt, während die UserForm auf dem Bildschirm angezeigt wird. Die folgenden Schritte veranschaulichen, wie Sie dies erreichen können:

Microsoft bietet Beispiele für Visual Basic für Applikationen-Prozeduren für die Abbildung nur ohne Gewährleistung oder konkludent, einschließlich, aber nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit und/oder Eignung für einen bestimmten Zweck. Visual Basic-Prozeduren in diesem Artikel werden bereitgestellt, 'als' und Microsoft übernimmt keine Garantie, dass Sie in allen Situationen verwendet werden können. Die Spezialisten von Microsoft Product Support Services erklären Sie die Funktionalität der ein bestimmtes Makro helfen können, ändern Sie nicht in diesen Beispielen um zusätzliche Funktionen bereitzustellen, noch diese hilft Ihnen Makros an Ihre speziellen Anforderungen erstellen. Wenn Sie Programmiererfahrung, beschränkt haben, sollten Sie eine Microsoft Solution Providers finden Sie in. Lösung Anbieter bieten eine Vielzahl von gebührenpflichtige Dienste, einschließlich benutzerdefinierte Makros erstellen. Weitere Informationen zu Microsoft-Lösungsanbieter wenden Sie technischen Kundendienst Information unter (800) 426-9400.

  1. Starten Sie eine neue Arbeitsmappe in Microsoft Excel 97 (oder ein neues Dokument in Microsoft Word 97).
  2. Drücken Sie ALT + F11, um den Visual Basic-Editor zu aktivieren.
  3. Klicken Sie im Menü Einfügen auf Modul, um ein Modul in das Projekt einzufügen.
  4. Drücken Sie F4, um das Eigenschaftenfenster anzuzeigen.
  5. Ändern Sie die Name-Eigenschaft des Moduls zu Processing_Code .
  6. Geben Sie in das Modulfenster Processing_Code Folgendes:
          Public Processing_Message As String
          Public Macro_to_Process As String
    
          Sub StartProcessing (msg As String, code As String)
    
             Processing_Message = msg    'Set the message that is displayed
                                         'in the dialog box
    
             Macro_to_Process = code     'Set the macro that is run after the
                                         'dialog box is active
    
             Processing_Dialog.Show      'Show the Dialog box
    
          End Sub
    						
  7. Klicken Sie im Menü Einfügen auf UserForm, um eine UserForm zum Projekt hinzufügen.
  8. Drücken Sie F4, um das Eigenschaftenfenster anzuzeigen. Ändern Sie die UserForm Eigenschaften, um die folgenden Einstellungen.
           Property           Setting
           -------------------------------------
    
           Name               Processing_Dialog
           Caption            (Leave Blank)
           StartUpPosition    2-CenterScreen
  9. Fügen Sie ein Label-Steuerelement zur UserForm. Ändern Sie die Name-Eigenschaft des Bezeichnungsfelds in LblMessage.
  10. Wählen Sie das Benutzerformular. Klicken Sie im Menü Ansicht auf Code. Im Code-Fenster in der Liste Prozedur markieren Sie das Initialize-Ereignis, und geben Sie Folgendes in das Codefenster:
           Private Sub UserForm_Initialize()
    
              lblMessage.Caption = Processing_Message  'Change the Label
                                                       'Caption
    
           End Sub
    						
  11. Im Code-Fenster klicken Sie auf Aktivieren Ereignis in der Liste Prozedur, und geben Sie Folgendes:
           Private Sub UserForm_Activate()
    
              Me.Repaint                         'Refresh the UserForm
              Application.Run Macro_to_Process   'Run the macro
              Unload Me                          'Unload the UserForm
    
           End Sub
    						
  12. Klicken Sie im Menü Einfügen auf Modul. Geben Sie den folgenden Code in das Codefenster:
           Sub MyMacro()
    
              For x = 1 to 5000
                 Application.StatusBar = x   '5000 Iterations Changing
                                             'StatusBar
              Next
    
              Application.StatusBar = False  'Reset the StatusBar
    
           End Sub
    
           Sub Main()
    
              'Call the StartProcessing procedure to show the Processing_Dialog
              'with the label "Processing, Please Wait..." and execute
              'MyMacro.
    
              StartProcessing "Processing, Please Wait...", "MyMacro"
    
           End Sub
    						
  13. Drücken Sie ALT + Q, um den Visual Basic-Editor verlassen und in Microsoft Excel (oder Word) zurückzukehren.
  14. Zeigen Sie im Menü Extras auf Makro, und klicken Sie auf Makros. Wählen Sie die Main Makro und klicken Sie auf Ausführen. Das Processing_Dialog-Dialogfeld wird angezeigt.
Während das Dialogfeld, den Text der Statusleiste in der Anwendung Schritten von 1 auf 5000 angezeigt wird--ist ändern Statusleistentext die Anzeichen dafür, auf dem das Makro ausgeführt wird, während das Dialogfeld auf dem Bildschirm befindet.

Verwendung des Dialogfelds auf Verarbeitung in anderen Arbeitsmappen

Um das Dialogfeld "Verarbeitung, warten Sie" mit Makros in anderen Arbeitsmappen oder Dokumenten zu verwenden, folgendermaßen Sie vor:

  1. Aktivieren Sie den Visual Basic-Editor. Klicken Sie im Menü Ansicht auf Projekt-Explorer.
  2. Wählen Sie das Projekt aus, dem Sie in den vorherigen Schritten erstellt haben.
  3. Klicken Sie mit der rechten Maustaste auf das Benutzerformular "Processing_Dialog", und klicken Sie auf Exportieren Datei. Speichern Sie die UserForm als "Processing_Dialog.frm".
  4. Klicken Sie mit der rechten Maustaste auf das Modul "Processing_Code", und klicken Sie auf Exportieren Datei. Speichern Sie das Modul als "Processing_Code.bas".
  5. An Microsoft Excel zurückgeben, und Öffnen der Arbeitsmappe, in der Sie das Dialogfeld "Verarbeitet, bitte warten" verwenden möchten.
  6. Aktivieren Sie den Visual Basic-Editor.
  7. Menü Datei klicken Sie auf Importieren, wählen Sie "Processing_Dialog.frm" Datei, und klicken Sie auf Öffnen.
  8. Klicken Sie im Menü Datei auf Import-Datei. Wählen Sie "Processing_Dialog.bas" Datei, und klicken Sie auf Öffnen.
  9. Im Menü Einfügen klicken Sie auf Module, und geben den folgenden Code in das Codefenster:
          Sub Main()
             StartProcessing "<message text>", "<macro name>"
          End Sub
    						
    , das Argument < nachrichtentext > ist die Textzeichenfolge, die im Dialogfeld Processing_Dialog angezeigt werden sollen und < makroname > ist das Makro, die Sie ausführen, nachdem das Dialogfeld wird angezeigt. Zeigt das Dialogfeld, und führen das Makro durch "< makro Name >" gekennzeichnet, führen Sie das Makro Main.
Informationen zum ein temporäres Meldungsfeld angezeigt, beim Ausführen eines Makros in Microsoft Excel-Versionen 5.x oder 7.x finden Sie unter den folgenden Artikel der Microsoft Knowledge Base:
148209: XL erstellen eine temporären MessageBox beim Makro ausgeführt wird

Eigenschaften

Artikel-ID: 162257 - Geändert am: Freitag, 19. Januar 2007 - Version: 1.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office 97 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Word 97 Standard Edition
Keywords: 
kbmt kbcode kbhowto kbprogramming KB162257 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 162257
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com