Привет Я создаю средство проверки орфографии для моего приложения C#. Я использую Microsoft.Office.Interop.Word; dll, но с ошибкой.Я интегрирую Spell Checker для своего приложения
Я проверил мой код в 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
Что касается рефлексии, почему вы конвертируете совершенно хороший рабочий код vb.net в C#? На данный момент vb.net больше подходит для работы с офисным взаимодействием. Вы можете легко вызвать код vb.net из C#. – RobS
Проверьте мой [ответ] [1] при переполнении стека. [1]: http://stackoverflow.com/a/31969800/1690709 –