我有一个内部Windows窗体应用程序,我想使用“拼写检查”功能。每个人都安装了Office 2007,所以我在那里应该不会有问题,但是我很难使它完全正常工作。

这是我所拥有的:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Word = Microsoft.Office.Interop.Word;
using System.Reflection;

namespace Refraction.Spelling
{
    public static class SpellCheckers
    {
        public static string CheckSpelling(string text)
        {
            Word.Application app = new Word.Application();
 object nullobj = Missing.Value;
                object template = Missing.Value;
                object newTemplate = Missing.Value;
                object documentType = Missing.Value;
                object visible = true;
                object optional = Missing.Value;
            object savechanges = false;
            Word._Document doc = app.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);

        doc.Words.First.InsertBefore(text);
        Word.ProofreadingErrors errors = doc.SpellingErrors;

        var ecount = errors.Count;
        doc.CheckSpelling(ref optional, ref optional, ref optional, ref optional,
            ref optional, ref optional, ref optional, ref optional, ref optional,
            ref optional, ref optional, ref optional);
        object first = 0;
        object last = doc.Characters.Count - 1;
        var results = doc.Range(ref first, ref last).Text;
        doc.Close(ref savechanges, ref nullobj, ref nullobj);
        app.Quit(ref savechanges, ref nullobj, ref nullobj);

        return results;
    }
}

}


我这样使用:

memDirectionsToAddress.Text = SpellCheckers.CheckSpelling(memDirectionsToAddress.Text);


现在,此操作成功从Word弹出了SpellCheck对话框,并检测到任何拼写错误的单词,但是我无法在WinForm应用程序中进行更正。

同样,它使Word Doc的“外壳”与更正的文本保持打开状态。我怎么不显示或至少使它消失?

两件事情:


首先,尽管“壳”关闭了
每次闪烁。任何解决方案
那?
其次,“拼写检查”对话框
没有出现在TOP上,我该怎么设置
对吗?


谢谢

最佳答案

下一步将是:


将更正的文本拉出文档。
关闭文档。 (如果在Word中仅打开一个文档,则可能要关闭或隐藏Word应用程序。)
将更正的文本返回到调用函数。


更多信息:


http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/ac899e2d-5c2f-4ea9-ada2-b03aa4773664
http://www.c-sharpcorner.com/UploadFile/Globalking/fileAccessingusingcsharp02242006050207AM/fileAccessingusingcsharp.aspx?ArticleID=44e79e38-0cdc-4e5e-8574-63572d8cc112

关于c# - 在Windows Form App中实现单词拼写检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1358185/

10-13 08:12