VBA - Word

Tuesday, 19. october 2010 2 19 /10 /Okt. /2010 13:59

Textmarken sind ja bei Word so eine Sache. Einerseits sind sie sehr hilfreich, aber da man sie leicht aus Versehen löschen kann, können Sie den Benutzer schon mal in den Wahnsinn treiben. Ganz besonders schlimm wird das bei VBA-Programmierung, denn ehe man es sich versieht, löscht man beim Ändern des Textes mittels VBA die Textmarke selbst.

 

Um das zu verhindern, müssen Sie einen kleinen Trick anwenden.

 

 

'Diese Funktion ändert den Text einer Textmarke ohne sie zu löschen.
'@param sNameTextmarke Der Name der Textmarke
'@param sNeuerText Der neue Text in der Textmarke
Sub aendereTextmarke(sNameTextmarke As String, sNeuerText As String)
    'Das Rangeobjekt der Textmarke.
    Dim bookmarkRange As Range
   
    'Der Ort der Textmarke "MeineTextmarke".
    Set bookmarkRange = Bookmarks(sNameTextmarke).Range
    'Der Text in dem Range-Objekt wird geändert.
    bookmarkRange.Text = sNeuerText
    'Eine neue Textmarke aus dem Range-Objekt erstellen.
    ActiveDocument.Bookmarks.Add sNameTextmarke, bookmarkRange
End Sub

 

Der Bereich der Textmarke, ihr Range-Objekt wird zwischengespeichert. Dadurch haben wir die Stelle im Dokument gesichert. Dann ändern wir den Text in diesem Range-Objekt, nicht in der Textmarke selbst. Denn dann würde die Textmarke gelöscht werden. Wenn wir noch einmal darauf zugreifen wollten, bekämen wir eine Fehlermeldung - immerhin würde die Marke dann nicht mehr existieren.

 

Schließlich fügen wir mit Booksmarks.Add eine neue Textmarke zum Dokument hinzu. Diese heißt genauso wie meine alte Textmarke und befindet sich an derselben Stelle. Die Add()-Methode erwartet den Namen des Textmarke als String und das dazugehörige Range-Objekt. In diesem steht auch unser neuer Text.

 

Das war's auch schon.

von Cuchulainn - veröffentlicht in: VBA - Word - Community: Computer & Internet
Kommentar hinzufügen - Kommentare (0)ansehen

Über diesen Blog

Kalender

February 2012
M T W T F S S
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29        
<< < > >>
Erstellen Sie einen Blog auf OverBlog - Kontakt - Nutzungsbedingungen - Werbung - Missbrauch melden - Impressum - Artikel mit den meisten Kommentaren