Không có gì lạ khi so sánh các chuỗi trong macro. Ví dụ: bạn có thể cần so sánh những gì người dùng đã nhập với một số giá trị được xác định trước. Nếu bạn làm điều này trực tiếp, bạn phải lưu ý rằng người dùng có thể đã không nhập chuỗi của họ theo cách giống như bạn mong đợi.

Đặc biệt gây khó chịu là thực tế là người dùng có thể viết hoa và viết thường lẫn lộn trong câu trả lời của họ.

Cách nhanh nhất và dễ dàng nhất để giải quyết vấn đề này là sử dụng hàm UCase hoặc LCase trên đầu vào của chúng trước khi bạn thực hiện so sánh. Ví dụ: giả sử bạn nhắc người dùng từ “có” để xác minh rằng họ muốn một hành động được thực hiện. Đoạn mã sau sẽ kiểm tra đầu vào, bất kể người dùng đã nhập nó như thế nào.

If LCase(UserIn) = "yes" then DoIt = True

Bí quyết là đảm bảo chuỗi thử nghiệm của bạn là tất cả chữ hoa hoặc tất cả chữ thường, sau đó chuyển đổi đầu vào của người dùng thành cùng một trường hợp.

Nếu bạn nghi ngờ rằng người dùng có thể vô tình thêm dấu cách vào đầu của bất kỳ thứ gì họ nhập làm đầu vào, thì bạn có thể nâng cao câu lệnh bằng cách thêm câu lệnh Trim để loại bỏ dấu cách:

If Trim(LCase(UserIn)) = "yes" then DoIt = True

_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 (9000) áp dụng cho Microsoft Word 2007, 2010, 2013, 2016, 2019 và Word trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Word tại đây: