726510

Wordbasic-Listing ""ShowHide""

Anforderung

Zeitaufwand

Die Makrosprachen einiger Office-Anwendungen enthalten Betriebssystem-nahe Funktionen, die die Grenzen der üblichen Windows-Bordmittel klar überschreiten. Wenn Sie sie gezielt einsetzen, erhalten Sie damit erweiterte Windows-Funktionen, ohne zusätzliche Shareware oder eine selbständige Programmierumgebung zu installieren. So können Sie etwa mit Winword beliebige Windows-Fenster ausblenden und unzugänglich machen.Unser Beispiel zeigt ein kleines Word-Makro, das eine spezielle Art von Task-Manager darstellt.Nicht nur, daß die Wordbasic-Anweisung "AnwNamenHolen" weit mehr anzeigt als etwa TASKMAN.EXE - mit "AnwAnzeigen" und "AnwVerbergen" ist es möglich, so gut wie alle Windows-Fenster ein- oder auszublenden. Diese Winword-Task-Liste überrascht nebenbei mit einem Eintrag, der stets am Ende auftaucht und auf "Program Manager" lautet. Was hat der alte Programm-Manager unter Windows 95 zu suchen? Tatsächlich verbirgt sich hinter diesem traditionsreichen Namen der Desktop mit den Verknüpfungsicons. Auch diese Icons lassen sich mit dem Button "Hide" ausblenden. Für alle verborgenen Fenster gilt übrigens, daß sie weder in der Task-Leiste noch im Task-Manager noch in der Iconleiste nach <Alt>-<Tab> auftauchen.

Das Makro wertet die drei Dialog-Buttons mit "Select Case" aus, wobei "Abbrechen" (CancelButton) den Wert "0" zurückgibt. Damit das Makro nicht das Winword-Fenster und damit sich selbst ausblendet (was ungünstig wäre), erfolgt vor dem Ausblenden noch eine Kontrolle des Fenstertitels: Enthält dieser den String "Word", wird nicht ausgeblendet.Wordbasic-LISTING ShowHideSub MAINOn Error Resume NextWhile Ende = 0n = AnwZählen() - 1Redim Tasks$(n)AnwNamenHolen Tasks$()Begin Dialog BenutzerDialog 400, 240, "Laufende Tasks"ListBox 30, 25, 350, 150, Tasks$(), .xPushButton 30, 200, 70, 25, "Hide"PushButton 110, 200, 70, 25, "Show"PushButton 190, 200, 70, 25, "Beenden"CancelButton 290, 200, 90, 25End DialogRedim Dlg As BenutzerDialogSelect Case Dialog(dlg)Case Is = 0 : Ende = 1Case Is = 1If InStr(Tasks$(dlg.x), "Word") = 0 Then AnwVerbergen(Tasks$(dlg.x))Case Is = 2 : AnwAnzeigen(Tasks$(dlg.x))Case Is = 3 : AnwSchließen Tasks$(dlg.x)End SelectAnwAktivieren("Microsoft Word"), 1For x = 1 To 1000 : Next'Je nach Prozessor höherstellenWendEnd Sub

0 Kommentare zu diesem Artikel

PC-WELT Marktplatz

726510