Registriert seit: 17. Nov 2005
Ort: Hamburg
1.077 Beiträge
Delphi XE2 Professional
|
AW: Word VBA Zeile zum oberen Rand scrollen
29. Jun 2023, 17:54
@HolgerX, @Ralf,
Danke funktioniert.
Code:
' Aktuelle Zeile an oberen Rand scrollen
' Das Caret steht am Anfang der ersten Zeile unter der Seitenüberschrift
Sub ScrollToTop()
Dim N As Long
N = 0
'Do While (N < 50) And (Asc(Selection.Characters.Last) <> 12) ' N<50, falls kein vbFormFeed gefunden wird
Do While (N < 50) And (Selection.Characters.Last <> vbFormFeed) ' N<50, falls kein vbFormFeed gefunden wird
Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
N = N + 1
Loop
ActiveWindow.ScrollIntoView Selection.Range, True
Selection.MoveUp Unit:=wdLine, Count:=1 ' In die Seitenüberschrift
Selection.MoveDown Unit:=wdLine, Count:=1
End Sub
@Jumpy
Das ist die optimale Lösung. So einfach, muss man erstmal drauf kommen.
Code:
' Springt zum Topic mit der Id S
Sub JumpToTopic(S As String)
Dim FN As Footnote, EN As Endnote
' In Fußnoten suchen
For Each FN In ActiveDocument.Footnotes
If FN.Range = S Then
Selection.EndKey Unit:=wdStory, Extend:=wdMove
FN.Reference.Select
Selection.HomeKey Unit:=wdLine, Extend:=wdMove
Selection.MoveDown 'Auf erste Zeile des Texts
Exit Sub
End If
Next
' Wenn nicht in Fußnoten gefunden, dann in Endnoten suchen
For Each EN In ActiveDocument.Endnotes
If EN.Range = S Then
Selection.EndKey Unit:=wdStory, Extend:=wdMove
EN.Reference.Select
Selection.HomeKey Unit:=wdLine, Extend:=wdMove
Selection.MoveDown 'Auf erste Zeile des Texts
Exit Sub
End If
Next
End Sub
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
|
|
Zitat
|