Tipp 0086 Rechtschreibprüfung mit Word
Autor/Einsender:
Datum:
  Angie
10.05.2003 (Update)
Entwicklungsumgebung:   VB 5
In Microsoft Word gibt es eine gute Rechtschreibprüfung, die auch für eigene VB-Programme verwendet werden kann. Zu diesem Zweck muss allerdings Word auf dem PC installiert sein.
 
Option Explicit

Private Const wdWindowStateMaximize As Long = 1
Private Const wdDoNotSaveChanges As Long = 0
Private Const wdGerman As Long = 1031
Private Const wdEnglishUS As Long = 1033

Private Sub Form_Initialize()
  Text1.Text = "In Microsoft Word gibt es eine schöööne " & _
          "Rechtschreibprüfung, die auch für eigene VB-" & _
          "Programmme bennutzt werden kann." & _
          vbCrLf & vbCrLf & _
          "Allerdings geeht dies nicht, ohne Word zu staarten."

  optDeutsch.Value = True
End Sub

Private Sub cmdCheckSpell_Click()
  Dim wdAppl As Object
  Dim wdDoc As Object
  Dim wdPara As Object
  Dim intParasCnt As Integer
  Dim i As Integer
  Dim strBuffer As String

  Err.Clear
  On Error GoTo err_WordAppl
  Set wdAppl = CreateObject("Word.Application")
  DoEvents
  On Error GoTo 0

  With wdAppl
    .Application.Visible = True
    .Application.Activate
    .WindowState = wdWindowStateMaximize
    Set wdDoc = .Documents.Add
  End With

  With wdDoc
    .Range.Text = Text1.Text
    .Range(0, 0).Select
    If optDeutsch.Value = True Then
      .Range.LanguageID = wdGerman
    Else
      .Range.LanguageID = wdEnglishUS
    End If
    DoEvents

    .CheckSpelling

    intParasCnt = .Paragraphs.Count
    For i = 1 To intParasCnt
      Set wdPara = .Range _
          (Start:=.Paragraphs(i).Range.Start, _
          End:=.Paragraphs(i).Range.End - 1)
      strBuffer = strBuffer & wdPara & vbCrLf
    Next i

    Text1.Text = Left$(strBuffer, Len(strBuffer) - 2)

    .Close SaveChanges:=wdDoNotSaveChanges
  End With
  Set wdDoc = Nothing

  On Error Resume Next
  wdAppl.Application.Quit
  Set wdAppl = Nothing

  Me.SetFocus
  Exit Sub

err_WordAppl:
  MsgBox "Konnte keine Verbindung zu Word herstellen !", _
          vbOKOnly + vbCritical, Me.Caption
  Exit Sub
End Sub
 
Hinweis
Um diesen Tipp ausführen zu können, muss Word auf dem Ziel-PC installiert sein.
Bei Late Binding wird zur Entwurfszeit kein Verweis auf die Objektbibliothek in das Projekt eingebunden. Alle verwendeten Objekte werden mit dem Variablentyp Object definiert. Ggf. verwendete anwendungsspezifische Konstanten müssen mit dem entsprechenden numerischen Äquivalent der Konstante ersetzt werden, könnten aber auch mit der Const-Anweisung deklariert werden. Die Verwendung von Konstanten erleichtert das Dokumentieren und Modifizieren Ihrer Programme, und trägt auch zur besseren Lesbarkeit des Codes bei.

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (3,4 kB) Downloads bisher: [ 1389 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Freitag, 30. September 2011