PDA

Vollständige Version anzeigen : Sprungmarke ersetzen durch VBA


KlTroe
13.07.2009, 12:58
Hallo zusammen,

zuerst mal wieder vielen Dank für Deine Zeit!!

Ich habe in einem Dokument eine Sprungmarke manuel angelegt. Leider haben andere User diese gelöscht.
Jetzt möchte ich zu der immer gleichen Textstelle springen, damit dieses Löschen nicht wieder passiert.

Bisher bin ich zur Sprungmarke mit folgenden Befehl gekommen:


Selection.GoTo What:=wdGoToBookmark, Name:="To Do’s next week"


Jetzt möchte ich über einen Button zur Textstelle springen die immer “ To Do’s next week" heißt.

Danke für die Hilfe!

Gruß
Klaus

PapaSchlumpf
13.07.2009, 13:07
Hi Klaus,

ich glaube nicht, dass die Textmarke wirklich "To Do’s next week" heisst, da Sonderzeichen und Leerzeichen nicht erlaubt sind.

Ansonsten kann ich dir dann eine Funktion liefern.

Gruß
PS

PapaSchlumpf
13.07.2009, 14:50
So, kurz vor Feierabend eine kleine FUnktion:
Sub SearchAndSetBookMark()
Dim sName As String
' Name der Textmarke
sName = "ToDo"
' Wenn die TM existiert dann Tschüss
If ActiveDocument.Bookmarks.Exists(sName) = True Then Exit Sub
'
Dim sFind As String
Dim rng As Range
' Inhalt der Textmarke
sFind = "To Do’s next week"
' Dokument durchsuchen
Set rng = ActiveDocument.Content
With rng.Find
.ClearFormatting
.Text = sFind
.Forward = True
.Execute
If .Found = True Then
' Textmarke neu erstellen
ActiveDocument.Bookmarks.Add sName, rng
End If
End With
End Sub


HTH
PS

KlTroe
13.07.2009, 15:56
Hallo PS,

vielen Dank für Deine Lösung - klappt wunderbar!!
Genial gemacht!
Gruß
Klaus