Kodum, MS Word 2010'da yazım denetimi etkinleştirmeli, böylece kullanıcının yazım hataları altında kırmızı alt çizgileri görebilmesi gerekir. Güncel sürümündeMS Word otomasyonu: yazım denetimi için kırmızı altı çizgilileri etkinleştiremiyor
Ben yazım denetimi sağlamak için bunu yapmak deneyin:
wordApplication.Options.CheckSpellingAsYouType = true;
wordApplication.Options.SuggestSpellingCorrections = true;
wordApplication.ActiveDocument.ShowSpellingErrors = true;
wordApplication.ActiveDocument.CheckSpelling();
Ben Word'ü açın ve "Test texxt dizesini" yazın. Bundan sonra kodumu çalıştırıyorum ama hiçbir şey olmuyor:
"texxt" altında alt çizgiler göremiyorum.
Şimdi bu özelliğini kontrol edin:: Ben seçeneklerine gidersem seçeneği etkin olan "Yazarken yazım denetimi" olduğunu görüyoruz
wordApplication.ActiveDocument.SpellingErrors[0].Text
O yazım olduğu anlamına gelir "texxt" içerecektir
aslında kontrol edildi.
Ayrıca ben sadece aynı metinde MS Word ve türünü yeniden eğer - kırmızı çizgilerdir görünür hale:
Ben de Application.ScreenRefresh arayıp ScreenUpdating özellikleri ayarlamak için çalıştı ama bu herhangi bir etkisi vermediniz.
Not: Belgede hiç metin bulunmadığında bu kodu/makroyu başlangıçta çalıştırıyorum. Eğer bir metin varsa - işe yarıyor.
Not 2: Kesin adımlar çoğaltmak:
başlatın MS Word. Seçeneklere gidin ve "yazarken yazımı denetle" özelliğini devre dışı bırakın. Word'ü yeniden başlatın.
başlatın Word ve çalışma aşağıdaki makro: Metin aşağıdaki
Options.CheckSpellingAsYouType = true Options.SuggestSpellingCorrections = true ActiveDocument.ShowSpellingErrors = true
Türü: "Deney texxt dizesini". Enter'a bas. Makro
MsgBox ActiveDocument.SpellingErrors (1) .Text
aşağıdakiRun
ancak kırmızı çizgilerdir çözümü aşağıdaki bulundu Kazara
Bu VBA mı? VBA, satırların sonunda noktalı virgül kullanmaz ve son satır parantez içermez. Bu değişiklikleri yaptığımda ve kod satırlarını çalıştırdığımda, metnin altı çizilir ve bunu değiştirmemi isteyen bir Yazım iletişim kutusu açılır. Kodunuzu çalıştırdığınızda hata olmaz mı? – Christina
Bu C#. Ama VBA ile aynı sorunlarım var. Yalnızca belge bir metin içeriyorsa ancak boşsa ve bu makrolar soemthing yazmaya başladığımda başlıyorsa çalışır - herhangi bir kırmızı alt çizgi göremiyorum. – Oleg
Bunu bir cevap olarak göndermek istemiyorum çünkü aldığınız şeyi gerçekten üretemiyorum. Ancak, makroyu çalıştırdıktan sonra Word'ün hala basit hataları otomatik olarak düzelteceğini buldum. Kırmızı çizgilerin görünmesine neden olan satırı Application.AutoCorrect.ReplaceTextFromSpellingChecker = False ekledim. – Christina