Я работал с этим на днях и подумал, что хотел бы поделиться своими выводами и добавить немного к уже полученным ответам.
Вы спрашиваете:
Я хочупроверьте правильность написания и, соответственно, получите предложения для неправильных слов.
(...)
Я просто хотел бы знать, что подразумевается под "объектом ref"?Я хочу знать их значение.
Краткий ответ на этот вопрос - посмотрите в документацию .
, чтобы показать вам, как метод GetSpellingSuggestions
можетчтобы быть использованным в более полном контексте, я включил пример программы в следующее.Обратите внимание, что вы можете изменить нужный язык проверки с помощью переменной language
.Код выглядит следующим образом:
using System;
using Microsoft.Office.Interop.Word;
namespace WordStack
{
public class Program
{
private static void Main()
{
// Create a new Word application instance (and keep it invisible)
var wordApplication = new Application() { Visible = false };
// A document must be loaded
var myDocument = wordApplication.Documents.Open(@"C:\...\myDoc.docx");
// Set the language
var language = wordApplication.Languages[WdLanguageID.wdEnglishUS];
// Set the filename of the custom dictionary
// -- Based on:
// http://support.microsoft.com/kb/292108
// http://www.delphigroups.info/2/c2/261707.html
const string custDict = "custom.dic";
// Get the spelling suggestions
var suggestions = wordApplication.GetSpellingSuggestions("overfloww", custDict, MainDictionary: language.Name);
// Print each suggestion to the console
foreach (SpellingSuggestion spellingSuggestion in suggestions)
Console.WriteLine("Suggested replacement: {0}", spellingSuggestion.Name);
Console.ReadLine();
wordApplication.Quit();
}
}
}
..., что дает мне следующие три предложения: переполнение , переполнение и переполнение .
Данный пример был реализован с использованием .NET 4.5 и версии 15 Word Interop API (Office 2013).
Обратите внимание, что данный пример также решает ваш комментарий к одному изуже дали ответы, сказав:
(...) Работает.Но приложение Microsoft Word появляется для каждого слова.Есть ли способ получить орфографическое предложение, не открывая окно приложения Microsoft ??
Лично я не сталкивался с таким поведением (ни с методами GetSpellingSuggestions
, ни с CheckSpelling
, доступными наэкземпляр Application
).
Однако, если вы вызовете CheckSpelling
для экземпляра Document
, он будет , как описано в документации , отобразить диалог правописания, если он илинайдено больше слов с ошибками (учитывая, что при создании экземпляра Word Application
свойство Visible
назначено true
- в противном случае оно будет ожидать ввода в фоновом режиме, что приведет к зависанию приложения).