06.09.2023, 15:00
Liebe Leserin, lieber Leser,
anliegend stelle ich heute mal mein Projekt "Bildschirmlupe" hier zur Verfügung.
Wer's brauchen kann, kann das gerne nutzen, natürlich wie immer ohne Gewähr.
Sinnvoll wäre die Nutzung als AddIn, bei dem der Startbutton im Ribbon Start zu finden ist.
Der gezeigte Ausschnitt kann in der Lupe per Mausrad vergrößert oder verkleinert dargestellt werden und bleibt auch nach Umschalten z.B. in ein anderes Tabellenblatt, in eine andere Arbeitsmappe und sogar nach Minimierung von Excel an der gewählten Stelle erhalten.
Eine Aktualisierung des Lupeninhalts erfolgt turnusmäßig beim Wechsel der Selektion oder bei Mausklick im Set-Bereich.
Die Lupenfläche ist in sechs Bereiche aufgeteilt.
Je nach dem, in welchem Bereich der User nun klickt, wird folgende Aktion ausgelöst:
Für eine Übernahme eines Bereichs außerhalb von Excel bzw. an der aktuellen Mausposition kann die Maus ja nicht zum Klicken in der Lupe verwendet werden.
In diesem Fall erfolgt die Übernahme mit der Tastenkombination Strg-Shift. Diese ungewöhnliche Kombination habe ich gewählt, damit andere Programme auf keinen Fall gestört werden.
Zur Beendigung der Lupe drückt man die ESC-Taste oder klickt mit der rechten Maustaste im Lupenbereich.
Der Code ist vollständig kommentiert und beschreibt beispielhaft, wie man mit den zwei Haupt-Subs die Fenstererstellung und den Fensterbetrieb realisieren kann.
Hier sieht man, wie man seiner Anwendung eigene Icons und Cursor verpassen kann, sowie Mausaktivitäten und auch Tastaturanschläge abfängt und zur Steuerung nutzen kann.
Zur automatischen, periodischen Übernahme neuer Inhalte in die Lupe ist auch ein Timer integriert. Dieser kann per Mausklick an- oder abgeschaltet werden.
Zusätzlich ist noch Code enthalten, der eine Messagebox je nach Lage der Lupe darüber oder darunter platziert, damit der User nicht immer mit der Maus in die Bildschirmmitte fahren muss.
Natürlich bekommt diese Messagebox auch ein eigenes Icon.
Die Wahl fiel hier auf die API-Messagebox, da sie nur an die Lupe, nicht aber an Excel gebunden sein soll.
Das heißt, dass die Messagebox sichtbar bleibt, auch wenn Excel minimiert oder im Hintergrund ist.
Vielleicht ist es ja für den einen oder anderen ganz interessant, eigene kleine Zusatztools auf dieser Basis zu kreieren.
Zum Schluss noch eine Anmerkung:
Es handelt sich hier nicht um eine unabhängige Windows-Anwendung.
Die Funktionalitäten werden von VBA gehandelt und hierzu läuft abweichend zu anderen Programmen eine entsprechende Do-Schleife.
Dementsprechend hängt alles zeitlich mit Excel und VBA zusammen. Andere Makros können nicht zusätzlich betrieben werden.
Bitte auch beachten, dass das Tool unbedingt vor der Schließung von Excel beendet werden muss.
Lupe.xlsb (Größe: 108,8 KB / Downloads: 4)
Lupe.xlam (Größe: 90,41 KB / Downloads: 3)
So, und nun viel Spaß und Erfolg beim Testen oder Selberbasteln.
Gruß Karl-Heinz
anliegend stelle ich heute mal mein Projekt "Bildschirmlupe" hier zur Verfügung.
Wer's brauchen kann, kann das gerne nutzen, natürlich wie immer ohne Gewähr.
Sinnvoll wäre die Nutzung als AddIn, bei dem der Startbutton im Ribbon Start zu finden ist.
Das Tool
Die Bildschirmlupe erlaubt das Anzeigen eines Bildschirmausschnittes oder auch eines gerade markierten Objektes in einem externen Fenster.Der gezeigte Ausschnitt kann in der Lupe per Mausrad vergrößert oder verkleinert dargestellt werden und bleibt auch nach Umschalten z.B. in ein anderes Tabellenblatt, in eine andere Arbeitsmappe und sogar nach Minimierung von Excel an der gewählten Stelle erhalten.
Eine Aktualisierung des Lupeninhalts erfolgt turnusmäßig beim Wechsel der Selektion oder bei Mausklick im Set-Bereich.
Die Lupenfläche ist in sechs Bereiche aufgeteilt.
Je nach dem, in welchem Bereich der User nun klickt, wird folgende Aktion ausgelöst:
- Oben links: Neuen Inhalt übernehmen
- Oben Mitte: Verschieben der Lupe an eine beliebige neue Stelle bei gedrückter linker Maustaste
- Oben rechts: Umschalten zwischen Timer- und Nichttimerbetrieb
- Unten links: Verkleinern des Zooms und der Lupengröße
- Unten Mitte: Zoom wieder auf 100% setzen
- Unten rechts: Vergrößern des Zooms und der Lupengröße
Für eine Übernahme eines Bereichs außerhalb von Excel bzw. an der aktuellen Mausposition kann die Maus ja nicht zum Klicken in der Lupe verwendet werden.
In diesem Fall erfolgt die Übernahme mit der Tastenkombination Strg-Shift. Diese ungewöhnliche Kombination habe ich gewählt, damit andere Programme auf keinen Fall gestört werden.
Zur Beendigung der Lupe drückt man die ESC-Taste oder klickt mit der rechten Maustaste im Lupenbereich.
Die Programmierung
Neben der Nutzung an sich stelle ich diesen Beitrag hier in dieser Rubrik als Workshop ein, weil es ein schönes Beispiel für das Erstellen eines eigenen, externen Fensters ist.Der Code ist vollständig kommentiert und beschreibt beispielhaft, wie man mit den zwei Haupt-Subs die Fenstererstellung und den Fensterbetrieb realisieren kann.
Hier sieht man, wie man seiner Anwendung eigene Icons und Cursor verpassen kann, sowie Mausaktivitäten und auch Tastaturanschläge abfängt und zur Steuerung nutzen kann.
Zur automatischen, periodischen Übernahme neuer Inhalte in die Lupe ist auch ein Timer integriert. Dieser kann per Mausklick an- oder abgeschaltet werden.
Zusätzlich ist noch Code enthalten, der eine Messagebox je nach Lage der Lupe darüber oder darunter platziert, damit der User nicht immer mit der Maus in die Bildschirmmitte fahren muss.
Natürlich bekommt diese Messagebox auch ein eigenes Icon.
Die Wahl fiel hier auf die API-Messagebox, da sie nur an die Lupe, nicht aber an Excel gebunden sein soll.
Das heißt, dass die Messagebox sichtbar bleibt, auch wenn Excel minimiert oder im Hintergrund ist.
Vielleicht ist es ja für den einen oder anderen ganz interessant, eigene kleine Zusatztools auf dieser Basis zu kreieren.
Zum Schluss noch eine Anmerkung:
Es handelt sich hier nicht um eine unabhängige Windows-Anwendung.
Die Funktionalitäten werden von VBA gehandelt und hierzu läuft abweichend zu anderen Programmen eine entsprechende Do-Schleife.
Dementsprechend hängt alles zeitlich mit Excel und VBA zusammen. Andere Makros können nicht zusätzlich betrieben werden.
Bitte auch beachten, dass das Tool unbedingt vor der Schließung von Excel beendet werden muss.
![.xlsb](https://www.clever-excel-forum.de/images/attachtypes/xlsb.png)
![AddIn .xlam](https://www.clever-excel-forum.de/images/attachtypes/xlsb.png)
So, und nun viel Spaß und Erfolg beim Testen oder Selberbasteln.
Gruß Karl-Heinz