嗨,我正在爲我的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