Wörter verbinden

Dieses Thema Wörter verbinden im Forum "Microsoft Office Suite" wurde erstellt von PCDjoe, 21. Juni 2005.

Thema: Wörter verbinden Ola, ich möchte per Tastenkombination getrennt und klein geschriebene Wörter koppeln: Beispiel master computer...

  1. Ola,

    ich möchte per Tastenkombination getrennt und klein geschriebene Wörter koppeln:

    Beispiel master computer wird Master-Computer

    Geht natürlich nur mit Makro, ich krieg es leider nicht ohne Zwischanbalage hin :'(
    Ausgangspunkt ist: ich markiere zwei, maximal drei Wörter
    Makro start
    alle wörter groß schreiben (umschalt F3 nehme ich immer)
    dann vorhandene Leerzeichen durch Bindestrich ersetzen ...

    Danke
     
  2. Hallo PCDJoe,

    ich hab dir den gewünschte Wort-Klebstoff gebastelt  ;D

    Viel Spaß damit

    Gruß Matjes :)

    Code:
    Option Explicit
    Type myWords_Structure
      l_anf As Long
      l_end As Long
    End Type
    
    Sub Selektion_WorteGrossUndBindestrich()
     ->Umwandlung von maximal 3 selektierte Worte
     ->Wort-Anfang wird jeweils groß geschrieben
     ->Leerzeichen zwischen den Worten werden
     ->durch einen Bindestrich ersetzt
      
      
      Dim doc As Document, l_anf As Long, l_end As Long
      Dim w As Long, x As Long
      Dim mywords(1 To 3) As myWords_Structure, l_AnzWords As Long
      
      Set doc = ActiveDocument
      l_anf = Selection.Start
      l_end = Selection.End
      l_AnzWords = Selection.Words.Count
      
      If Selection.Paragraphs.Count > 1 Then
        MsgBox (Selektion darf nicht über die Absatzgrenze erfolgen.)
        GoTo Aufraeumen
      End If
      If l_AnzWords > 3 Then
        MsgBox (Es dürfen maximal 3 Worte selektiert werden.)
        GoTo Aufraeumen
      End If
      If l_AnzWords < 2 Then
        MsgBox (Es müssen minimal 2 Worte selektiert werden.)
        GoTo Aufraeumen
      End If
      
     ->reine Worte ohne Leerzeichen - Anfang/Ende bestimmen
      For w = 1 To l_AnzWords
        doc.Range(Start:=l_anf, End:=l_end).Words(w).Select
        mywords(w).l_anf = Selection.Start
        mywords(w).l_end = Selection.End
        For x = mywords(w).l_end To mywords(w).l_anf + 1 Step -1
          If doc.Range(Start:=x - 1, End:=x).Text <>   Then Exit For
          mywords(w).l_end = x - 1
        Next
      Next
    
     ->jeweils erstes Zeichen der Worte groß
      For x = 1 To l_AnzWords
        doc.Range(Start:=mywords(x).l_anf, End:=mywords(x).l_anf + 1).Text = _
          UCase(doc.Range(Start:=mywords(x).l_anf, End:=mywords(x).l_anf + 1).Text)
      Next
      
     ->Leerzeichen zwischen den Worten durch Bindestrich ersetzen
      For x = l_AnzWords To 2 Step -1
        doc.Range(Start:=mywords(x - 1).l_end, End:=mywords(x).l_anf).Text = -
      Next
    Aufraeumen:
      Set doc = Nothing
    End Sub
     
  3. Ola,

    danke, das funktioniert - wie immer - tadellos.

    Noch eine Frage dazu (aber nicht gleich progammieren ;) ) Ist es machbar, vor dem eigentlichen Verbinden erst in einer - der Einfachheit halber aufsteigend sortierten Tabelle - zu suchen, ob das Wortpaar schon da ist und wenn ja, alternativ zum Verbinden aus der Tabelle eine Entsprechung zu nehmen?
     
  4. Hi PCDJoe,

    das mit der Datenquelle ist eigentlich Wurscht - ist alles machbar : Excel- oder Word-Tabelle, Textfile ... - ist halt einmal den Vergleichsdatenbestand lesen.

    Interessant ist die Definition der Regeln des Vergleichens/Ersetzens - Wann ist etwas gleich?
    Getrennte Vergleichsdaten für Wortpaar, Worttripel ...

    Gruß Matjes :)
     
  5. Ola,

    ja, das ist das Problem, daran arbeite ich noch ....

    Danke
     
Die Seite wird geladen...

Wörter verbinden - Ähnliche Themen

Forum Datum
Passwörter unter W7 verwalten Windows XP Forum 7. Jan. 2012
Hotkeys von Tulox Wörterbuch gehen nicht Windows XP Forum 14. Sep. 2011
Kennwörter gelöscht Software: Empfehlungen, Gesuche & Problemlösungen 10. Nov. 2009
Passwörter ansehen Microsoft Office Suite 22. Feb. 2013
Wörterbücher zusammenführen Microsoft Office Suite 22. Feb. 2012