First add the reference from the com tab, and add Microsoft word 12.0 object
library.
Code given here with some description:
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
namespace
WindowsFormsApplication7
{
public partial
class Form1 :
Form
{
Microsoft.Office.Interop.Word.Application
WordApp = new Microsoft.Office.Interop.Word.Application();
public Form1()
{
InitializeComponent();
// if you want to show genarated
word file then remove comment form nxt line
// WordApp.Visible = true;
this.FormClosed +=
new
FormClosedEventHandler(closed);
}
private void
closed(object sender,
FormClosedEventArgs e)
{
// close the active document without
asking for save
WordApp.Documents.Close(Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges);
// it will closes the word
application
WordApp.Quit(false);
}
private void
button1_Click(object sender,
EventArgs e)
{
Microsoft.Office.Interop.Word.Range DRange;
this.Text =
"Creating Word...";
//adding new document to word application
WordApp.Documents.Add();
//set title
this.Text = "Genarating
error list...";
//get the range of activer document
DRange = WordApp.ActiveDocument.Range();
//insert textbox data after the content of range of
active document
DRange.InsertAfter(textBox1.Text);
//createing object for error collection and store the
all errors
Microsoft.Office.Interop.Word.ProofreadingErrors
SpellCollection = DRange.SpellingErrors;
if (SpellCollection.Count > 0)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
int iword = 0;
string newWord =
null;
for (iword = 1; iword <=
SpellCollection.Count; iword++)
{
newWord = SpellCollection[iword].Text;
listBox1.Items.Add(newWord);
}
}
this.Text =
"spelling checker Demo";
}
private void
listBox1_SelectedIndexChanged(object sender,
EventArgs e)
{
// here it
will find the suggestions based on the selecteditem of listbox1
Microsoft.Office.Interop.Word.SpellingSuggestions
CorrectionsCollection;
CorrectionsCollection = WordApp.GetSpellingSuggestions(listBox1.Text);
listBox2.Items.Clear();
if (CorrectionsCollection.Count > 0)
{
int iWord = 0;
for (iWord = 1; iWord <=
CorrectionsCollection.Count; iWord++)
{
listBox2.Items.Add(CorrectionsCollection[iWord].Name);
}
}
else
{
listBox2.Items.Add("No suggestions!");
}
}
private void
button2_Click(object sender,
EventArgs e)
{
// it will replace word
try
{
if (listBox1.SelectedIndex >= 0
& listBox2.SelectedIndex >= 0)
{
textBox1.Select(textBox1.Text.IndexOf(listBox1.SelectedItem.ToString()),
listBox1.SelectedItem.ToString().Length);
textBox1.SelectedText = listBox2.SelectedItem.ToString();
listBox1.Items.Remove(listBox1.SelectedItem);
listBox2.Items.Clear();
}
}
catch (Exception
ex)
{
//handle exception
}
}
}
}
This is my first program for word operation in c#.
If you have any suggestion, feel free to reply.
Thank you.