嗨,我正在为我的c#应用程序创建拼写检查器。我正在使用Microsoft.Office.Interop.Word; DLL但有错误。我正在为我的应用程序集成拼写检查器
我已经测试我的代码在VB.Net,它是工作FI9,但现在我不得不C#和有错误在我的代码
private void SpellOrGrammarCheck(bool blnSpellOnly)
{
try
{
object objWord;
object objTempDoc;
IDataObject iData;
if (TextBox1.Text == "")
{
return;
}
objWord = new Microsoft.Office.Interop.Word.Application();
objTempDoc = objWord.Documents.Add();
objWord.Visible = false;
objWord.WindowState = 0;
objWord.Top = - 3000;
Clipboard.SetDataObject(TextBox1.Text);
objTempDoc.Content.Paste();
objTempDoc.Activate();
if (blnSpellOnly)
{
objTempDoc.CheckSpelling();
}
else
{
objTempDoc.CheckGrammar();
}
objTempDoc.Content.Copy();
iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
TextBox1.Text = System.Convert.ToString(iData.GetData(DataFormats.Text, System.Convert.ToBoolean(null)));
}
objTempDoc.Saved = true;
objTempDoc.Close();
objWord.Quit();
MessageBox.Show("The spelling check is complete.", "Spell Checker", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (System.Runtime.InteropServices.COMException)
{
MessageBox.Show("Microsoft Word must be installed for Spell/Grammar Check " + "to run.", "Spell Checker");
}
catch (Exception)
{
MessageBox.Show("An error has occurred.", "Spell Checker");
}
}
对象doestnot包含文件的定义。这是我正在建设的错误。我已经成功地包括的Microsoft.Office.Interop.Word的引用在C#
我想你的建议虽然是好的,但我没有工作。现在它抛出新的异常,
objTempDoc = objWord.Documents.Add();
异常:方法Add没有重载需要'0'参数。
有什么建议吗?
那些错误是? – RobS 2009-11-16 09:20:31
经过反思,你为什么要将完美的工作vb.net代码转换为C#?目前,vb.net更适合与办公室互操作。 YOu可以很容易地从c#调用vb.net代码。 – RobS 2009-11-16 21:41:11
在Stack Overflow检查我的[答] [1]。 [1]:http://stackoverflow.com/a/31969800/1690709 – 2015-08-12 17:24:44