Imports System.Windows.Forms
public class WordSpellChecker
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Dim objWordApp As Word.Application
Dim objCorrectionsCollection As Word.SpellingSuggestions
Dim objSpellCollection As Word.ProofreadingErrors
Private Sub OpenWord()
objWordApp = New Word.Application
End Sub
Private Sub CloseWord()
objWordApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
objWordApp.Quit()
objWordApp = Nothing
End Sub
Private Sub btnSpellCheckDoc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpellCheckDoc.Click
Dim objRange As Word.Range
Dim intWord As Integer
Dim strNewWord As String
Me.Text = "Starting Word ..."
Call OpenWord()
objWordApp.Documents.Add()
Me.Text = "Checking words..."
objRange = objWordApp.ActiveDocument.Range
objRange.InsertAfter(TextBox1.Text)
objSpellCollection = objRange.SpellingErrors
If objSpellCollection.Count > 0 Then
ListBox1.Items.Clear()
ListBox2.Items.Clear()
For intWord = 1 To objSpellCollection.Count
strNewWord = objSpellCollection.Item(intWord).Text
If ListBox1.FindStringExact(strNewWord) < 0 Then
ListBox1.Items.Add(strNewWord)
End If
Next
End If
Me.Text = "WordSpellChecker"
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Call CloseWord()
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim intWord As Integer
objCorrectionsCollection = objWordApp.GetSpellingSuggestions(ListBox1.Text)
ListBox2.Items.Clear()
If objCorrectionsCollection.Count > 0 Then
For intWord = 1 To objCorrectionsCollection.Count
ListBox2.Items.Add(objCorrectionsCollection.Item(intWord).Name)
Next
Else
ListBox2.Items.Add("No suggestions!")
End If
End Sub
Private Sub btnReplaceWord_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReplaceWord.Click
If ListBox1.SelectedIndex >= 0 And ListBox2.SelectedIndex >= 0 Then
TextBox1.Text = Replace(TextBox1.Text, _
ListBox1.SelectedItem, ListBox2.SelectedItem)
ListBox1.Items.Remove(ListBox1.SelectedIndex)
ListBox2.Items.Clear()
End If
End Sub
End Class
Partial Public Class Form1
Inherits System.Windows.Forms.Form
_
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
End Sub
'Form overrides dispose to clean up the component list.
_
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
_
Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.btnSpellCheckDoc = New System.Windows.Forms.Button
Me.btnReplaceWord = New System.Windows.Forms.Button
Me.ListBox1 = New System.Windows.Forms.ListBox
Me.ListBox2 = New System.Windows.Forms.ListBox
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.SuspendLayout()
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(10, 9)
Me.TextBox1.Multiline = True
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(352, 192)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = "This is some example text that contains misspelled words. For example, Visual Bas" & _
"ci Espress."
'
'btnSpellCheckDoc
'
Me.btnSpellCheckDoc.Location = New System.Drawing.Point(369, 9)
Me.btnSpellCheckDoc.Name = "btnSpellCheckDoc"
Me.btnSpellCheckDoc.Size = New System.Drawing.Size(158, 23)
Me.btnSpellCheckDoc.TabIndex = 3
Me.btnSpellCheckDoc.Text = "SpellCheck Document"
'
'btnReplaceWord
'
Me.btnReplaceWord.Location = New System.Drawing.Point(369, 306)
Me.btnReplaceWord.Name = "btnReplaceWord"
Me.btnReplaceWord.Size = New System.Drawing.Size(158, 23)
Me.btnReplaceWord.TabIndex = 4
Me.btnReplaceWord.Text = "Replace Word"
'
'ListBox1
'
Me.ListBox1.FormattingEnabled = True
Me.ListBox1.Location = New System.Drawing.Point(10, 232)
Me.ListBox1.Margin = New System.Windows.Forms.Padding(3, 1, 3, 3)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(168, 95)
Me.ListBox1.TabIndex = 1
'
'ListBox2
'
Me.ListBox2.FormattingEnabled = True
Me.ListBox2.Location = New System.Drawing.Point(196, 232)
Me.ListBox2.Margin = New System.Windows.Forms.Padding(3, 1, 3, 3)
Me.ListBox2.Name = "ListBox2"
Me.ListBox2.Size = New System.Drawing.Size(166, 95)
Me.ListBox2.TabIndex = 2
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(10, 217)
Me.Label1.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(94, 14)
Me.Label1.TabIndex = 5
Me.Label1.Text = "Misspelled words:"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(196, 217)
Me.Label2.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(94, 14)
Me.Label2.TabIndex = 6
Me.Label2.Text = "Alternative words:"
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(539, 342)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.ListBox2)
Me.Controls.Add(Me.ListBox1)
Me.Controls.Add(Me.btnReplaceWord)
Me.Controls.Add(Me.btnSpellCheckDoc)
Me.Controls.Add(Me.TextBox1)
Me.Name = "Form1"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "WordSpellChecker"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents btnSpellCheckDoc As System.Windows.Forms.Button
Friend WithEvents btnReplaceWord As System.Windows.Forms.Button
Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
Friend WithEvents ListBox2 As System.Windows.Forms.ListBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
End Class