Sarma اغلب دستور زبان (و خوانایی) تنها بخشی از سند را بررسی می کند و از یک ماکرو برای انجام آن استفاده می کند. داشتن ماکرو برای دور زدن کادر محاوره ای "آیا می خواهید باقیمانده را بررسی کنید" که غلط گیر املا همیشه نمایش می دهد مفید خواهد بود، اما Sarma نمی داند چگونه این کار را انجام دهد.
دو چیز متمایز وجود دارد که توسط Sarma ارجاع می شود: غلط گیر املا و جستجوگر دستور زبان. Sarma میخواهد از جستجوگر دستور زبان استفاده کند، اما ظاهراً این غلطگیر املا است که کادر محاورهای را نشان میدهد که میخواهد از آن اجتناب کند.
دو نوع دیالوگ باکس وجود دارد که می توانید از طریق ماکروها هنگام بررسی املا و بررسی دستور زبان به آنها دسترسی داشته باشید. یکی یک کادر محاوره ای ترکیبی است (که املا و دستور زبان را با هم مدیریت می کند) و دیگری یک کادر محاوره ای "جدا شده" است که به طور مستقل به بررسی گرامر یا املا می پردازد. کادرهای محاوره ای تقریباً یکسان به نظر می رسند، اما عملکرد آنها متفاوت است. برای گیجکنندهتر کردن موضوع، عنوان جعبه محاورهای «املا و دستور زبان» است، حتی برای نسخههای تکاکشن.
اگر روی ابزار Spelling & Grammar در تب Review نوار کلیک کنید، Word کادر محاوره ای ترکیبی را باز می کند. این کادر محاوره ای را می توان با دستور ماکرو زیر نیز باز کرد:
Dialogs(wdDialogToolsSpellingAndGrammar).Show
این کادر محاوره ای هم املا و هم دستور زبان را بررسی می کند. وقتی متن انتخاب شده به پایان رسید، پیام ظاهر می شود "Word چک کردن انتخاب را به پایان رساند. آیا می خواهید به بررسی باقی مانده سند ادامه دهید؟"
برای نمایش کادر محاوره ای تک منظوره برای بررسی گرامر، می توانید از این دستور به جای آن استفاده کنید:
Selection.Range.CheckGrammar
کادر محاورهای بسیار شبیه به کادر محاورهای ترکیبی به نظر میرسد، اما کاربرد آن به طرز ماهرانهای متفاوت است. از آنجایی که هیچ غلطگیری املا انجام نمیشود، پس از اتمام بررسی دستور زبان، کادر محاورهای "چک باقیمانده" نمایش داده نمیشود.
به عنوان نمونه ای از چگونگی بررسی موثر دستور زبان یک انتخاب، ماکرو زیر را در نظر بگیرید:
Sub CheckGrammarInSelection()
Dim aRange As Range
Set aRange = Selection.Range
aRange.GrammarChecked = False
ActiveDocument.ShowGrammaticalErrors = True
If Selection.Range.Characters.Count > 0 Then
Options.CheckGrammarWithSpelling = True
Selection.Range.CheckGrammar
End If
aRange.Select
aRange.GrammarChecked = False
End Sub
ماکرو با اطمینان از پاک شدن هر پرچم "از قبل بررسی شده" برای انتخاب شروع می شود (از طریق ویژگی GrammarChecked) و سپس انتخاب را بررسی می کند.