Textmarken Makro mit Doppelklick
#1
Hallo Allerseits,

ich arbeite momentan viel mit Textmarken in Word. Dabei erstelle ich immer im Text eine Textmarke1 und am Ende des Texts eine Textmarke2, die über einer Anlage steht. So kann ich aus dem Text zur Anlage springen und von der Anlage wieder zum Text zurück; sofern ich beide Textmarken verlinke. Ich weiß auch gar nicht ob das der beste Weg ist, aber mit Querverweisen etc. kenne ich mich nicht aus.

Ich habe mir folgendes Makro zusammengeschustert, das mir helfen soll mit einem Klick eine Textmakre zu erstellen, die so heißt, wie das markierte Wort:

 
  Sub textmarke()
  Dim s As String
 
      s = selection
      selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
      selection.Copy
      With ActiveDocument.Bookmarks
          .Add Range:=selection.Range, Name:=s + "zurück"
          .DefaultSorting = wdSortByName
          .ShowHidden = False
      End With
      MsgBox ("Textmarke auf die zurückverlinkt werden kann wurde erstellt")
  end sub
 
Das funktioniert auch. Jedoch bin ich dabei gezwungen das Wort mit der Maus von "A nach B" zu markieren. Versuche ich es über einen Doppelklick, stört das mitmarkierte Leerzeichen nach dem Wort bei ".Add Range:=selection.Range" wahrscheinlich. Der Fehler lautet: "Ungültiger Textmarkenname" Laufzeitfehler 5828.

Das würde ich gerne noch überwinden.

Ich bedanke mich im Voraus.
Antworten Top
#2
Hallöchen,

das Leerzeichen kannst Du sicher auch in Word mit Trim(Text) entfernen...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hi, danke für die Antwort.

ich denke, dass ich so etwas in der Art gemacht habe, in dem ich selection move left 1 mache.
somit markiere ich den text und lasse die Auswahl um eine Stelle schrumpfen.

Also ist das m.E. nicht die Lösung zum Problem.

Oder macht trim doch etwas anders?

Danke.
Antworten Top
#4
Hallöchen,
Probier mal msgbox trim("a b c ")
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hi,

danke erstmal.

Ich habe das Makro mit

msgbox trim(selection)

ausgeführt. So bekomme ich den mit doppelklick markierten Text als Msgbox angezeigt. Ich sehe aber nicht ob da eine Stelle gekürzt wurde.

Mein Versuch dennoch:

Dim s As String

    s = Selection
    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    Selection.Copy
    With ActiveDocument.Bookmarks
        .Add Range:=Trim(Selection.Range), Name:=s + "hin"
        .DefaultSorting = wdSortByName
        .ShowHidden = False
    End With
    MsgBox ("Textmarke auf die verlinkt werden kann wurde erstellt")

führt zu Laufzeitfehler 4218 Typen unverträglich. Hierbei habe ich nur in Zeile 5 das Trim vor Selection.range gesetzt. War das der Vorschlag.

Danke weiterhin für den Austausch.
Grüße
Antworten Top
#6
Hallöchen,

ich hätte den Text in s vermutet ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
...omg, ich habe grad Leichenfledderei begangen... Schnell löschen, ich war nicht hier. Pssst!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste