Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
480to484
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Shortcut für eine Formatierung

Shortcut für eine Formatierung
07.09.2004 15:43:53
Juergen
Hallo Excel Fans.
Folgendes Problem möchte ich lösen:
In einer Zelle habe ich eine mehrzeilige Beschreibung (umgebrochener Text). Einen Teil des Textes möchte ich markieren und in blau/kursiv darstellen. Jetzt hätte ich gerne einen ShortCut, der mir -vergleichsweise wie Ctrl/Shift/F (fett/standard)- die Schrift zu blau/kursiv bzw wieder zurück zu schwarz/standard umstellt.
Probleme:
* Wie verbinde ich die Tastenkombination mit der Funktion ?
Wie stelle ich fest, welcher Teil der Zelle markiert ist ?
Hat jemand eine Idee ?
Danke.
Juergen

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shortcut für eine Formatierung
07.09.2004 17:40:46
Axel
Hallo Jürgen,
wenn du Text innerhalb einer Zelle editierst, befindest du dich im Bearbeitungsmodus. Makros oder eigener Programmcode über Icons in Symbolleisten können dann nicht gestartet werden, Excel quittiert dies ja lediglich mit einem warnenden Piepser.
Du könntest aber folgenden Weg gehen: Ein Makro schreiben, dass den Inhalt der aktiven Zelle in eine temporäre Textbox kopiert, dann den zu formatierenden Text in der Textbox selektieren und die Selektion z.B. durch die Enter-Taste bestätigen.
Im Programmcode kann dann der Selektionsbereich der Textbox ermittelt, die Textbox wieder entfernt und die Formatierung der Zelle vorgenommen werden.
Die Textbox lässt sich z.B. auch direkt über die Zelle legen, das ganze gibt dann auch optisch etwas her.
Gruß
Axel
Anzeige
AW: Shortcut für eine Formatierung
08.09.2004 10:53:32
Juergen
Hallo.
Das löst mein Problem leider nicht. Meine Vorstellung ist, dass ich über einen Shortcut direkt diese Formatierung ändern kann. Muss auch schnell gehen, da ich die Tabelle in Besprechungen nutze.
Bei der Umstellung zwischen Fett-/Standard-Schrift funktioniert das ja auch über Strg/Shift-F. Muss natürlich nicht heissen, dass es dann bei anderen Funktionen ebenfalls funktioniert. Vielleicht gibt es aber doch eine Möglichkeit.
-Juergen
AW: Shortcut für eine Formatierung
10.09.2004 13:17:31
Axel
Hallo Jürgen,
ich habe den Eindruck, dass du das Problem nicht ganz verstanden hast. Wenn du dich in der Bearbeitungsleiste befindest, lassen sich keine VBA-Makros aufrufen. Auch der Großteil der internen Excel-Funktionen ist deaktiviert. Das lässt sich ja leicht an den deaktivierten Icons in den diversen Symbolleisten erkennen.
Ich habe trotzdem einige Tests gefahren und eine brauchbare Lösung gefunden. Allerdings muß man da schon etwas tiefer in die Trickkiste greifen.
Da du dich nach eigener Einschätzung mit VBA ja gut auskennst, werden dir ComAddins sicherlich ein Begriff sein. Code innerhalb eines ComAddin lässt sich nämlich auch dann aufrufen, wenn die Bearbeitungsleiste aktiv ist. Allerdings ist eine Bindung von Funktionscode innerhalb eines ComAddin an ShortCuts nicht möglich. Jedenfalls nicht direkt. Über den Umweg eines Standard-VBA-Makro ist das zwar realisierbar, aber dieses wiederum lässt sich ja nicht starten, siehe oben.
Über geeignete Mechanismen zum Abfangen von Tastencodes direkt auf Betriebssysteme-Ebene liesse sich aber auch dieses Manko umgehen. Das führt mir im Moment aber zu weit.
Was ich dir hier anbiete ist ein fertiges ComAddin, das so arbeitet, wie von dir gewünscht. Mit der Einschränkung, dass der Wechsel der Formatierung nicht über einen ShortCut sondern durch Anklicken eines Icon erfolgt.
Da sich DLL's nicht auf den Server hochladen lassen, habe ich das Addin gezippt. Es kann unter https://www.herber.de/bbs/user/10753.zip heruntergeladen werden.
Zum Einbinden des ComAddin sind folgende Schritte notwendig.
- Extrahieren und Installieren auf deinen Rechner (Installationsort ist eigentlich egal)
- Registrieren über den Befehl regsvr32 ToggleFormat
- in Excel über den Com-Add-Ins-Manager durch Aktivieren der Checkbox einbinden (Achtung: Der Manager muß normalerweise erst in das Excel-Menü integriert werden. Dazu den entsprechenden Eintrag über "Ansicht | Symbolleisten | Anpassen | Befehle" suchen und unter "Extras" verschieben, z.B. unterhalb des Menüpunkts des normalen Add-Ins-Manager.
Nach dem Aktivieren des ComAddIn erscheint in der Symbolleiste "Format" ein neuer Button mit einem schwarzen und einem blauen A.
Dieser Button kann dann nach der Selektion von Textbereichen in der Bearbeitungsleiste angeklickt werden. Die Schriftfarbe und der Stil des ausgewählten Bereiches werden dann gemäß deiner Vorgabe geändert.

Das ComAddin kann über den Com-Add-Ins-Manager jederzeit wieder deaktivert werden, der Button wird dann natürlich aus der Symbolleiste wieder entfernt.
Hinweis: ComAddins werden erst ab Excel 2000 unterstützt, aber du nutzt ja bereits Excel XP.
Gruß
Axel
Anzeige
AW: Shortcut für eine Formatierung
Juergen
Hallo Axel.
Wow. Was nicht alles in Excel möglich ist. Dlls habe ich jetzt noch nicht gemacht. Quellcode und How to do würde mich bei Gelegenheit daher interessieren.
Auf jeden Fall ein recht herzliches Dankeschön für Deine Mühe. Wenn schon nicht mit einer Tastenkombination, dann ist diese Lösung gleich die Beste.
Nochmals Danke.
Juergen
AW: Shortcut für eine Formatierung
Juergen
Hallo Axel.
Noch ein Nachtrag:
Beim jeweils ersten Klick erfolgt die Fehlermeldung:
Fehler 438; Object doesn't support this property as method; Zeile 20.
Danach läuft es.
Weiterhin Danke.
Juergen
AW: Shortcut für eine Formatierung
10.09.2004 17:34:36
Axel
Hallo Jürgen,
freut mich, dass du das ComAddin problemlos hast einbinden können und es offensichtlich deinen Zuspruch findet.
Ich habe jetzt auch noch eine Lösung realisiert, die per Tastencode und per Button funktioniert. Als ShortCut ist fix Strg-m zugewiesen. https://www.herber.de/bbs/user/10764.zip
Das ganze funktioniert durch Abfangen der Tastaturcodes bevor Excel diese erhält und zwar über die API-Funktion SetWindowsHookEx(). Die Verwendung dieser (und ähnlicher) Routinen innerhalb geladener (Com)AddIns in MS Office-Anwendungen ist etwas heikel, deshalb bitte zunächst mit unsensiblen Daten testen.
Ich weise ausdrücklich darauf hin, dass ich keine Verantwortung übernehme, falls Excel crasht und Daten verloren gehen.
In der ersten Version war ein kleiner Bug. Wenn ein anderes Objekt als eine Zelle aktiv ist und der Button gedrückt wird, steigt das AddIn nach einer Fehlermeldung komplett aus. Das ist jetzt behoben. Zusätzlich wurde der gesamte Code mit Zeilennummern versehen, so dass bei einem jetzt auftretenden Fehler direkt die Fehlerstelle ersichtlich ist (Fehlermeldung in einer MessageBox).
Wäre nett, wenn du mir noch eine kurze Rückkopplung gibst, ob alles ok ist. Änderungen bzgl. der Formatierungen oder des ShortCuts kann ich natürlich noch vornehmen.
Gruß
Axel
Anzeige
AW: Shortcut für eine Formatierung
11.09.2004 12:36:03
Axel
Ups, da war noch ein Debug-Flag gesetzt.
Hier eine Version, die nicht nur auf meinem Entwicklungsrechner läuft ;-)
https://www.herber.de/bbs/user/10780.zip
Gruß
Axel
AW: Shortcut für eine Formatierung
14.09.2004 15:56:23
Juergen
Hallo Axel.
Jetzt läuft die Sache. Habe die Funktion heute mit Erfolg eingesetzt. Keine Probleme festgestellt.
Kannst du mir noch verraten, wie du das umgesetzt hast. Vielleicht habe ich irgendwann einmal eine ähnliche Idee und kann dann die Source entsprechend anpassen.
Dank nochmals für die Lösung
Juergen
AW: Shortcut für eine Formatierung
14.09.2004 16:07:09
Axel
Hallo Jürgen,
das lässt sich nur unter der MS Office Developer Edition realisieren. Oder alternativ über VB oder C/C++/C#.
Mit dem SourceCode wirst du deshalb auch nichts anfangen können, der hat mit Excel, abgesehen vom Zugriff auf einige wenige Objekte, nämlich so gut wie nichts zu tun und steht natürlich auch nicht in einer Excel-Datei.
Gruß
Axel
Anzeige
AW: Shortcut für eine Formatierung
15.09.2004 10:45:58
Juergen
Hallo Axel.
Hab's fast befürchtet. Du hast recht. Ich kann mit der Source dann nicht's anfangen. Werde ich einfach mal so mit der Dll arbeiten.
Cheers
Juergen

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige