Forums Neueste Beiträge
 

Ermittlung der Absatz-Nr.

28/12/2009 - 21:12 von Thomas Wiedmann | Report spam
Hallo,

wie kann man mit VBA ermitteln, in welchem, d. h. wievielten, Absatz sich
die Einfügemarke befindet?

Thomas Wiedmann
 

Lesen sie die antworten

#1 Thomas Gahler
28/12/2009 - 22:25 | Warnen spam
Hallo Thomas


wie kann man mit VBA ermitteln, in welchem, d. h. wievielten, Absatz sich
die Einfügemarke befindet?


Einen Range,der vom Anfang des Dokuments bis zum Cursor geht, definieren und
die Anzahl Absàtze ausgeben.

Dabei musst du jedoch beachten, dass der Cursor nicht immer dort steht, wo
du eine sinnvolle Antwort bekommst oder dass der Cursor manchmal auch einen
Bereich markiert. Beides habe ich ansatzweise eingebaut.



' - - - - -
Option Explicit

Enum ECursor
eCursorEnd = 0
eCursorStart = 1
End Enum

Sub Demo()
MsgBox CStr(funcAbsatzNr(ePosition:=eCursorEnd))
End Sub

Public Function funcAbsatzNr( _
ePosition As ECursor) As Long

Dim rng As Word.Range

funcAbsatzNr = -999999

If Selection.StoryType = wdMainTextStory Then
Set rng = ActiveDocument.Range

Select Case ePosition
Case eCursorStart
rng.SetRange Start:=rng.Start, End:=Selection.Range.Start
Case eCursorEnd
rng.SetRange Start:=rng.Start, End:=Selection.Range.End
Case Else
End Select
funcAbsatzNr = rng.Paragraphs.Count
End If
End Function
' - - - - -




Thomas Gahler
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows Vista (SP2), Office 2007 (SP2)

Ähnliche fragen