Сравнение строк в макросе — не редкость. Например, вам может потребоваться сравнить введенное пользователем значение с заранее заданным значением. Если вы делаете это напрямую, вы должны учитывать, что пользователь, возможно, набрал свою (или ее) строку не так, как вы ожидали.

Особенно досадно то, что пользователь мог смешать верхний и нижний регистр в своем ответе.

Самый быстрый и простой способ обойти это — использовать на входе функцию UCase или LCase, прежде чем проводить сравнение. Например, предположим, что вы запрашиваете у пользователя слово «да», чтобы убедиться, что он хочет выполнить действие. Следующий код проверит ввод независимо от того, как его ввел пользователь.

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

Хитрость заключается в том, чтобы убедиться, что ваша тестовая строка написана полностью или полностью в верхнем или нижнем регистре, а затем преобразовать ввод пользователя в тот же регистр.

Если вы подозреваете, что пользователь может непреднамеренно добавить пробелы в начало или конец всего, что он вводит в качестве входных данных, вы можете улучшить это выражение, также включив оператор Trim, чтобы избавиться от пробелов:

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

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (9000) применим к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365. Вы можете найти версию этого совета для старый интерфейс меню Word здесь:

link: / word-Comparing_Strings [Сравнение строк].