Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Direktfenster löschen

Forumthread: Direktfenster löschen

Direktfenster löschen
20.05.2002 16:23:32
Stefan
Gibt es einen Befehl, um die Ausgegebenen Informationen im Direktfenster zu löschen.Wenn man ein Programm im Direktfenster ablaufen lassen hat, möchte ich im nächsten Programm, das dieses wieder gelöscht wird. Damals konnte man dieses in Basic mit dem Befehl CLS machen. Das klappt in VBA aber nicht.

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Direktfenster löschen
20.05.2002 16:28:21
Hajo
Hallo Stefan

reicht Dir die Information von Hans nicht.

Gruß Hajo

Re: Direktfenster löschen
20.05.2002 16:48:31
Thomas Risi
Hi

Versuch's mal in etwa so ...


Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
 ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
 ByVal hwndParent As LongByVal hwndChildAfter As Long, _
 ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Private Declare Function SetFocus Lib "user32" (ByVal hwnd As LongAs Long

Dim hwnd As Long

Sub ClearImmediateWindow()
    
    hwnd = FindWindow("wndclass_desked_gsk", vbNullString)
    hwnd = FindWindowEx(hwnd, 0, vbNullString, "Direktbereich")
    SetFocus hwnd
    
    SendKeys "^{a}"
    SendKeys "{DELETE}"
    
End Sub

     Code eingefügt mit Syntaxhighlighter 1.14


Gruß

Thomas

------------------------------
Internet: Homepage

eMail: Thomas.Risi@t-online.de
------------------------------


Anzeige
;
Anzeige

Infobox / Tutorial

Direktfenster in Excel VBA löschen


Schritt-für-Schritt-Anleitung

Um das Direktfenster in Excel VBA zu löschen, kannst Du die folgende Methode verwenden. Diese Technik nutzt die Windows API, um das Direktfenster zu finden und dessen Inhalt zu löschen.

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel.

  2. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject" klickst und "Modul einfügen" wählst.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Option Explicit
    
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
       ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
       ByVal hwndParent As Long, ByVal hwndChildAfter As Long, _
       ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long
    
    Sub ClearImmediateWindow()
       Dim hwnd As Long
       hwnd = FindWindow("wndclass_desked_gsk", vbNullString)
       hwnd = FindWindowEx(hwnd, 0, vbNullString, "Direktbereich")
       SetFocus hwnd
       SendKeys "^{a}"   ' Alles auswählen
       SendKeys "{DELETE}" ' Löschen
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro ClearImmediateWindow aus, um den Inhalt des Direktfensters zu löschen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht und das Direktfenster bleibt unverändert.

    • Lösung: Stelle sicher, dass das Direktfenster geöffnet ist, bevor Du das Makro ausführst. Überprüfe auch, ob der Code korrekt kopiert wurde.
  • Fehler: Fehlermeldung "FindWindow nicht gefunden".

    • Lösung: Stelle sicher, dass Du die richtigen API-Deklarationen verwendet hast. Diese sind wichtig, um die Windows-Funktionen korrekt aufzurufen.

Alternative Methoden

Eine andere Möglichkeit, um den Inhalt im Direktfenster zu löschen, besteht darin, das Direktfenster manuell zu leeren. Du kannst dies tun, indem Du die Tasten Strg + A (alles auswählen) gefolgt von der Entf-Taste (löschen) drückst. Diese Methode ist zwar weniger automatisiert, funktioniert jedoch in jeder Excel-Version.


Praktische Beispiele

Wenn Du regelmäßig mit VBA arbeitest und den Inhalt des Direktfensters oft löschen musst, ist es sinnvoll, das oben genannte Makro in Deine Projekte zu integrieren. Du kannst das Makro bei Bedarf aufrufen, um den Überblick über Deine Ausgaben zu behalten, ohne manuell das Direktfenster leeren zu müssen.


Tipps für Profis

  • Verwende das Makro in Kombination mit anderen VBA-Tools, um Deine Entwicklungszeit zu optimieren.
  • Du kannst das Makro anpassen, um spezifische Ausgaben zu filtern, bevor Du sie löscht.
  • Implementiere das Makro in eine eigene Schaltfläche in Excel, um den Zugriff zu erleichtern.

FAQ: Häufige Fragen

1. Kann ich das Makro in jeder Excel-Version verwenden? Ja, das Makro sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.

2. Ist es sicher, Windows-API-Funktionen in VBA zu verwenden? Ja, solange Du sicherstellst, dass die Funktionen korrekt deklariert sind und Du verstehst, was der Code macht. Achte darauf, von vertrauenswürdigen Quellen zu lernen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige