hier geht es um Faulheit für Vielschreiber, die durch Tastenkombis unterstützt werden soll.
Ausgangssituation: Ein WD-Dokument mit drei oder mehr Seiten und die Zuordnung der Tastenkombis STRG+ 0 ... 3, wobei sowohl die Tastatur-Ziffern als auch der Ziffernblock genutzt werden können. STRG + 0 zeigt die Seitenbreite, STRG + 1...3 jeweils die Anzahl der Seiten. Entsprechend funktionieren auch Funktionstasten (daher der Name Bratkartoffel

Es hat sich gezeigt, dass diese Zuordnungen etwas knifflig sein können, weswegen in meinem Code erst einmal alle Zuordnungen = KeyBindings gelöscht werden. Wer es ohne diese Brachial-Version versuchen will, kommentiert diese paar Zeile (entsprechend markiert) einfach erst einmal aus. Schon vorhandene KeyBindings kann man mithilfe dieser Anleitung in die Document_Open nach Bedarf einfügen, gehen also nicht zwangsläufig verloren.
Hier der Code für das Projekt Normal.ThisDocument
Code: Alles auswählen
Option Explicit
Private Sub Document_Open()
Dim Key As KeyBinding
'Vorsicht!! Hier werden alle KeyBindings gelöscht
For Each Key In Application.KeyBindings
Key.Clear
Next Key
'Vorsicht
'Hier die KeyBindungs für den Ziffernblock
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyControl, wdKeyNumeric0), KeyCategory:=wdKeyCategoryMacro, Command:="View_0"
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyControl, wdKeyNumeric1), KeyCategory:=wdKeyCategoryMacro, Command:="View_1"
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyControl, wdKeyNumeric2), KeyCategory:=wdKeyCategoryMacro, Command:="View_2"
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyControl, wdKeyNumeric3), KeyCategory:=wdKeyCategoryMacro, Command:="View_3"
'und hier die für die Zeile 1 der Tastatur
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyControl, wdKey0), KeyCategory:=wdKeyCategoryMacro, Command:="View_0"
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyControl, wdKey1), KeyCategory:=wdKeyCategoryMacro, Command:="View_1"
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyControl, wdKey2), KeyCategory:=wdKeyCategoryMacro, Command:="View_2"
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyControl, wdKey3), KeyCategory:=wdKeyCategoryMacro, Command:="View_3"
'und noch als Luxus die Syntax für Funktionstasten
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyF1), KeyCategory:=wdKeyCategoryMacro, Command:="View_1"
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyF2), KeyCategory:=wdKeyCategoryMacro, Command:="View_2"
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyF3), KeyCategory:=wdKeyCategoryMacro, Command:="View_3"
Application.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyF10), KeyCategory:=wdKeyCategoryMacro, Command:="View_0"
End Sub
Code: Alles auswählen
Option Explicit
Sub View_0()
ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit
End Sub
Sub View_1()
ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitFullPage
End Sub
Sub View_2()
With ActiveWindow.ActivePane.View.Zoom
.PageColumns = 2
.PageRows = 1
End With
End Sub
Sub View_3()
With ActiveWindow.ActivePane.View.Zoom
.PageColumns = 3
.PageRows = 1
End With
End Sub
Wenn ich das Thema oben etwas knifflig genannt habe, dann hier die Erklärung warum: Ändert man in den aufzurufenden Makros etwas und versucht den Aufruf wie beschrieben, werden sie Änderungen erst einmal nicht sichtbar. Das kann bei Debuggen mittelwahnsinnig

Viel Spaß damit!