0

以下のコードでは、基本的にドキュメントを単語ごとにチェックし、正しいものを分離しています。私は動作しますが、遅すぎて、40,000 語を 10 分以上待たなければなりません。同じドキュメントを開くと、単語が数秒でチェックされます。私は何を間違っていますか?

var application = new Application();
        application.Visible = false;
        Document document = application.Documents.Open("C:\\Users\\hrzafer\\Desktop\\spellcheck.docx");

        // Loop through all words in the document.
        int count = document.Words.Count;
        IList<string> corrects = new List<string>();
        for (int i = 1; i <= count; i++)
        {
            if (document.Words[i].SpellingErrors.Count == 0)
            {
                string text = document.Words[i].Text;
                corrects.Add(text);
            }
        }

        File.WriteAllLines("corrects.txt", corrects);
        application.Quit();
4

1 に答える 1

0

ドキュメントに正しい単語のみが必要なようです。

for i=ActiveDocument.Range.SpellingErrors.Count to 1 step -1
    ActiveDocument.Range.SpellingErrors(i).Delete
next

次に、ドキュメントを新しい名前で保存します

ActiveDocument.SaveAs FileName:="C:\MyWordDocs\NewFile.docx", _ 
    FileFormat:=wdFormatXMLDocument
于 2012-07-25T15:37:28.570 に答える