Unter Extras|Anpassen Seite: Tastatur kann man sich Funktionen aus den Menüs auf Tastatur-Kürzel legen. Leider ist Format|Standard nicht darunter. Der Grund ist, dass dieses Menü kontextabhängig bezüglich des selektierten Objekts ist (z.B. ein Text-Rahmen). Um diese Funktion dennoch auf die Tastatur zu legen, kann man sie als Makro realisieren.
Dazu
zeichnet man das Makro auf:
Zuerst ein Stück nicht benötigten Text markieren, dann Extras|Makro wählen.
Makroname: FormatStandard
Makro aus: müsste
schon auf soffice/Standard/Module1 stehen.
Schaltfläche Aufzeichnen drücken (dieses kleine Fenster
erscheint).
Dann Format|Standard aus dem Menü
wählen und das Aufzeichnen mit der oben abgebildeten
Schaltfläche beenden. Schon fertig! Nun kann man das Makro über
Extras|Makro, FormatStandard in der Listenfeld
selektieren, auf die Schaltfläche Zuordnen drücken
und auf einen Tastatur-Kürzel legen (zweite Möglichkeit
über Extras|Anpassen).
Wählt man im Makro-Dialog Bearbeiten, dann müsste folgendes Makro aufgezeichnet worden sein:
Sub FormatStandard Selection.ResetAttributes() End Sub
Dieses kann man natürlich auch direkt im StarBasic-Editor eintippen. Der Nachteil dieses Makros ist, dass Format|Standard nicht in alle Situationen zur Verfügung steht. Damit der Benutzer nicht mit einer unverständlichen Fehlermeldung vom StarBasic-Interpreter konfrontiert wird, wäre es doch schöner einfach einen Warnton über den PC-Lautsprecher auszugeben. Dazu bedarf es dem folgenden Makro:
Sub FormatStandard
'Fehler-Behandlung wird in dieser Prozedur selbst übernommen
On Local Error Goto ErrorLabel
'Nun die eigentliche Funktion Format|Standard
Selection.ResetAttributes()
'und Ende der Prozedur, um nicht in den Fehlerbehandlungscode hinein zu laufen
Exit Sub
'Los geht's mit der Fehlerbehandlung
ErrorLabel:
'Wenn ein Bild oder so etwas selektiert ist erwarten wir den Fehler
'"Eigenschaft oder Methode nicht gefunden" Fehlernummer 423
If Err() = 423 Then
'Der erwartete Fehler ist eingetreten. Gib ein Warnton aus.
Beep
Else
'Wenn ein anderer Fehler aufgetreten ist, muss eine generische
'Fehlermeldung ausgegeben werden
MsgBox("Beim Entfernen harter Formatierung" & chr(13) &_
"ist folgender Fehler aufgetreten:" & chr(13) &_
Error() & chr(13) &_
"Fehler-Nummer: " & Err() ,_
16,"Makro Fehler")
Endif
End Sub
Autor: Werner Roth Original liegt auf http://www.wernerroth.de/staroffice/tips