私のコードでは、MS Word 2010 でスペル チェックを有効にして、ユーザーがスペル ミスの下に赤い下線を表示できるようにする必要があります。
現在のバージョンでは、スペル チェックを有効にするためにこれを実行しようとしています。
wordApplication.Options.CheckSpellingAsYouType = true;
wordApplication.Options.SuggestSpellingCorrections = true;
wordApplication.ActiveDocument.ShowSpellingErrors = true;
wordApplication.ActiveDocument.CheckSpelling();
Word を開き、「テスト テキスト文字列」と入力します。この後、コードを実行しますが、何も起こりません:
「textxt」の下に下線が表示されません。オプションに移動すると、「入力時にスペルをチェックする」オプションが有効になっていることがわかります。
このプロパティをチェックすると、次のようになります。
wordApplication.ActiveDocument.SpellingErrors[0].Text
スペルが実際にチェックされたことを意味する「textxt」が含まれます。
また、MS Word を再起動して同じテキストを入力すると、赤い下線が表示されます。
また、Application.ScreenRefresh を呼び出して ScreenUpdating プロパティを設定しようとしましたが、効果はありませんでした。
注:ドキュメントにテキストがない場合、最初にこのコード/マクロを実行します。テキストがあれば - それは機能します。
注 2:再現する正確な手順:
MS ワードを起動します。オプションに移動し、「入力時にスペル チェック」を無効にします。ワードを再起動します。
Word を起動し、次のマクロを実行します。
Options.CheckSpellingAsYouType = true Options.SuggestSpellingCorrections = true ActiveDocument.ShowSpellingErrors = true
次のテキストを入力します: "Test textxt string.". Enter キーを押します。
次のマクロを実行
MsgBox ActiveDocument.SpellingErrors(1).Text
MessageBox に「textxt」が表示されますが、赤い下線は表示されません