Sarma thường xuyên kiểm tra ngữ pháp (và khả năng đọc) của chỉ một phần của tài liệu và anh ta sử dụng macro để làm điều đó. Sẽ rất hữu ích nếu macro bỏ qua hộp thoại “bạn có muốn kiểm tra phần còn lại không” mà trình kiểm tra chính tả luôn hiển thị, nhưng Sarma không biết cách làm điều này.

Có hai thứ khác biệt đang được Sarma tham chiếu: trình kiểm tra chính tả và trình kiểm tra ngữ pháp. Sarma muốn sử dụng trình kiểm tra ngữ pháp, nhưng có vẻ như trình kiểm tra chính tả đang hiển thị hộp thoại mà anh ta muốn tránh.

Có hai loại hộp thoại mà bạn có thể truy cập thông qua macro khi kiểm tra chính tả và kiểm tra ngữ pháp. Một là hộp thoại kết hợp (xử lý chính tả và ngữ pháp cùng nhau) và hộp thoại kia là hộp thoại “tách biệt” xử lý việc kiểm tra ngữ pháp hoặc kiểm tra chính tả, một cách độc lập. Các hộp thoại xuất hiện gần giống nhau nhưng chúng hoạt động khác nhau. Để làm cho vấn đề khó hiểu hơn, tiêu đề hộp thoại là “Chính tả & Ngữ pháp” ngay cả đối với các phiên bản một hành động.

Nếu bạn bấm vào công cụ Chính tả & Ngữ pháp trên tab Xem lại của dải băng, Word sẽ mở hộp thoại kết hợp. Hộp thoại này cũng có thể được mở bằng lệnh macro sau:

Dialogs(wdDialogToolsSpellingAndGrammar).Show

Hộp thoại này sẽ kiểm tra cả chính tả và ngữ pháp. Khi đến phần cuối của văn bản đã chọn thì xuất hiện thông báo “Word đã kiểm tra xong phần lựa chọn. Bạn có muốn tiếp tục kiểm tra phần còn lại của tài liệu không?”

Để hiển thị hộp thoại mục đích duy nhất để kiểm tra ngữ pháp, bạn có thể sử dụng lệnh này, thay vào đó:

Selection.Range.CheckGrammar

Hộp thoại xuất hiện rất giống với hộp thoại mục đích kết hợp, nhưng nó khác biệt về cách sử dụng. Vì không có kiểm tra chính tả nào đang được thực hiện, hộp thoại “kiểm tra phần còn lại” sẽ không được hiển thị khi kiểm tra ngữ pháp hoàn tất.

Để làm ví dụ về cách kiểm tra hiệu quả ngữ pháp của một vùng chọn, hãy xem xét macro sau:

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

Macro bắt đầu bằng cách đảm bảo rằng mọi cờ “đã được kiểm tra” cho vùng chọn đều bị xóa (thông qua thuộc tính GrammarChecked) và sau đó kiểm tra vùng chọn.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.

(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (9950) áp dụng cho Microsoft Word 2007, 2010 và 2013.