Thema Datum  Von Nutzer Rating
Antwort
13.02.2021 13:17:55 Felix
NotSolved
13.02.2021 13:22:53 Gast45136
NotSolved
13.02.2021 13:28:43 Gast25899
NotSolved
13.02.2021 16:30:32 Gast74318
*****
NotSolved
13.02.2021 16:39:32 Gast74318
*****
NotSolved
13.02.2021 16:44:17 Gast74318
NotSolved
14.02.2021 11:53:14 Gast55304
NotSolved
14.02.2021 16:58:29 Gast792
NotSolved
14.02.2021 17:02:26 Gast32651
NotSolved
14.02.2021 11:54:38 Gast27943
NotSolved
14.02.2021 12:09:26 Gast40774
NotSolved
14.02.2021 12:10:49 Gast42313
NotSolved
14.02.2021 12:23:15 Gast27890
NotSolved
14.02.2021 13:06:41 Gast61281
NotSolved
14.02.2021 14:41:18 Gast87063
NotSolved
14.02.2021 15:09:18 Gast38430
NotSolved
14.02.2021 16:50:53 Gast17593
NotSolved
24.02.2021 08:34:17 Gast01287
NotSolved
24.02.2021 09:10:34 Gast55509
NotSolved
Blau Beispiel-Lösung
14.02.2021 18:16:32 Gast20358
*****
NotSolved
14.02.2021 19:08:57 Gast41973
NotSolved
14.02.2021 19:12:12 Gast20358
*****
NotSolved
23.02.2021 16:53:02 Gast21601
NotSolved
23.02.2021 17:04:41 Gast54879
NotSolved
23.02.2021 17:13:17 Gast59647
NotSolved
23.02.2021 17:29:01 Gast4073
NotSolved
23.02.2021 17:42:56 Mase
NotSolved
23.02.2021 22:03:44 Gast63735
NotSolved
23.02.2021 22:20:44 Mase
NotSolved
23.02.2021 22:26:42 Gast8241
*****
NotSolved
24.02.2021 07:59:20 Mase
NotSolved
24.02.2021 14:17:24 Gast14330
NotSolved
24.02.2021 15:50:14 Gast37999
NotSolved
22.04.2021 17:54:50 Gast45889
NotSolved
22.04.2021 19:11:44 Gast37430
*****
NotSolved
23.04.2021 14:51:50 Gast11080
NotSolved

Ansicht des Beitrags:
Von:
Gast20358
Datum:
14.02.2021 18:16:32
Views:
810
Rating: Antwort:
  Ja
Thema:
Beispiel-Lösung

Hamburg (amtlich Freie und Hansestadt Hamburg (niederdeutsch Friee un Hansestadt Hamborg, Ländercode: HH), ist als Stadtstaat ein Land der Bundesrepublik Deutschland. Der amtliche Name verweist auf die Geschichte Hamburgs als Freie Reichsstadt und als führendes Mitglied des Handelsbundes der Hanse.

 

Hamburg ist mit ca. 1,9 Millionen Einwohnern die zweitgrößte Stadt Deutschlands und die drittgrößte im deutschen Sprachraum. Das Stadtgebiet ist in sieben Bezirke und 104 Stadtteile gegliedert, darunter mit dem Stadtteil Neuwerk eine in der Nordsee gelegene Inselgruppe.

Anmerkung: Der Beispieltext hat Rechtschreibfehler: (aufgrund Einscannen (OCR)?)

Option Explicit

Sub Test_AllInOne()
  
  Dim rngWord     As Word.Range
  Dim rngLaengste As Word.Range
  Dim dic         As Object 'Scripting.Dictionary
  Dim nGrossb     As Long
  
  'Formatierung aus vorherigen Durchgang rückgängig machen
  ThisDocument.Range.Font.Reset
  ThisDocument.Range.HighlightColorIndex = wdAuto
  
  'hiermit merken wir uns wie oft ein Wort vorkommt (und auch wo im Text)
  ' dic
  ' + Item("Hamburg") : Scripting.Dictionary-Objekt
  '   + #0: Objekt    : Word.Range-Objekt
  '   + #1: Objekt    : Word.Range-Objekt
  '   + #2: Objekt    : Word.Range-Objekt
  ' + Item("amtlich") : Scripting.Dictionary-Objekt
  '   + #0: Objekt    : Word.Range-Objekt
  ' usw.
  Set dic = CreateObject("Scripting.Dictionary")
  'wir unterscheiden Groß-/Kleinschreibung (z.B. 'A' ungleich 'a')
  dic.CompareMode = VbCompareMethod.vbBinaryCompare
  
  'Wortweise durch den Text bewegen
  For Each rngWord In ThisDocument.Words
    
    'Leerzeichen am Ende eines Wortes weglassen - seltsames Verhalten von Word ¯\_('-')_/¯
    rngWord.MoveEndWhile " ", wdBackward
    
    'Kommas, Klammern, usw. interessieren uns hier nicht
    If IsWord(rngWord.Text) Then
      
'#1: Anzahl der Großbuchstaben zählen
      nGrossb = nGrossb + AnzGrossbuchstaben(rngWord.Text)
      
'#2: hier merken wir uns das längste Wort in einem Word.Range-Objekt
      If rngLaengste Is Nothing Then
        Set rngLaengste = rngWord
'        Debug.Print Len(rngWord), rngWord.Text
      ElseIf Len(rngWord.Text) > Len(rngLaengste.Text) Then
        Set rngLaengste = rngWord
'        Debug.Print Len(rngWord), rngWord.Text
      End If

'#3: alle Worte merken - Wort-Liste (siehe oben)
      If Not dic.Exists(rngWord.Text) Then
      'neues Wort aufnehmen (siehe oben)
        Call dic.Add(rngWord.Text, CreateObject("Scripting.Dictionary"))
        With dic(rngWord.Text)
          Call .Add(.Count, rngWord)
        End With
      Else
      'bereits bekanntes Wort in Liste -> Word.Range merken
        With dic(rngWord.Text)
          Call .Add(.Count, rngWord)
        End With
      End If
      
    End If 'IsWord()
    
  Next 'rngWord
  
'#1: Anzahl der Großbuchstaben ausgeben
  Call MsgBox("Anzahl Großbuchstaben: " & nGrossb, vbInformation)
  
'#2: längstes Wort im Text markieren
  With rngLaengste
    .HighlightColorIndex = WdColorIndex.wdRed
    .Font.ColorIndex = WdColorIndex.wdWhite
  End With

'#3 Häufigstes vorkommen ermitteln (Wort-Liste mit größter Anzahl an Word.Range-Objekten)
  Dim vntElem   As Variant
  Dim strKey    As String
  Dim n         As Long
  
  For Each vntElem In dic
'    Debug.Print dic(vntElem).Count, vntElem
    If dic(vntElem).Count > n Then
      n = dic(vntElem).Count
      strKey = vntElem
    End If
  Next
  
  If strKey <> "" Then
    With dic(strKey)
      'vntElem ist ein Word.Range-Objekt
      For Each vntElem In .Items()
        vntElem.HighlightColorIndex = WdColorIndex.wdGreen
        vntElem.Font.ColorIndex = WdColorIndex.wdWhite
      Next
    End With
  End If
  
End Sub

Private Function IsWord(Word As String) As Boolean
  
  Dim blnFlag As Boolean
  Dim strChr  As String * 1
  Dim i       As Long
  
  blnFlag = True
  
  For i = 1 To Len(Word)
    strChr = Mid$(Word, i, 1)
    Select Case LCase$(strChr)
      Case "a" To "z", "ä", "ö", "ü", "ß"
        'ok
      Case Else
        blnFlag = False
        Exit For
    End Select
  Next
  
  IsWord = blnFlag
  
End Function

'Hilfsfunktion
' - Alternative mit Mid()- und InStr()-Funktion
' stellt fest wie kompliziert/komplex ein Wort ist
Private Function AnzGrossbuchstaben(Wort As String) As Long
  
  Dim strChr  As String * 1
  Dim i       As Long
  Dim n       As Long
  
  For i = 1 To Len(Wort)
    strChr = Mid$(Wort, i, 1)
    Select Case strChr
      Case "A" To "Z", "Ä", "Ö", "Ü"
        n = n + 1
    End Select
  Next
  
  AnzGrossbuchstaben = n

End Function

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
13.02.2021 13:17:55 Felix
NotSolved
13.02.2021 13:22:53 Gast45136
NotSolved
13.02.2021 13:28:43 Gast25899
NotSolved
13.02.2021 16:30:32 Gast74318
*****
NotSolved
13.02.2021 16:39:32 Gast74318
*****
NotSolved
13.02.2021 16:44:17 Gast74318
NotSolved
14.02.2021 11:53:14 Gast55304
NotSolved
14.02.2021 16:58:29 Gast792
NotSolved
14.02.2021 17:02:26 Gast32651
NotSolved
14.02.2021 11:54:38 Gast27943
NotSolved
14.02.2021 12:09:26 Gast40774
NotSolved
14.02.2021 12:10:49 Gast42313
NotSolved
14.02.2021 12:23:15 Gast27890
NotSolved
14.02.2021 13:06:41 Gast61281
NotSolved
14.02.2021 14:41:18 Gast87063
NotSolved
14.02.2021 15:09:18 Gast38430
NotSolved
14.02.2021 16:50:53 Gast17593
NotSolved
24.02.2021 08:34:17 Gast01287
NotSolved
24.02.2021 09:10:34 Gast55509
NotSolved
Blau Beispiel-Lösung
14.02.2021 18:16:32 Gast20358
*****
NotSolved
14.02.2021 19:08:57 Gast41973
NotSolved
14.02.2021 19:12:12 Gast20358
*****
NotSolved
23.02.2021 16:53:02 Gast21601
NotSolved
23.02.2021 17:04:41 Gast54879
NotSolved
23.02.2021 17:13:17 Gast59647
NotSolved
23.02.2021 17:29:01 Gast4073
NotSolved
23.02.2021 17:42:56 Mase
NotSolved
23.02.2021 22:03:44 Gast63735
NotSolved
23.02.2021 22:20:44 Mase
NotSolved
23.02.2021 22:26:42 Gast8241
*****
NotSolved
24.02.2021 07:59:20 Mase
NotSolved
24.02.2021 14:17:24 Gast14330
NotSolved
24.02.2021 15:50:14 Gast37999
NotSolved
22.04.2021 17:54:50 Gast45889
NotSolved
22.04.2021 19:11:44 Gast37430
*****
NotSolved
23.04.2021 14:51:50 Gast11080
NotSolved