Замена текста в макросе (Microsoft Word)
Если вы пишете макросы, вы, вероятно, много работаете со строковыми переменными. Распространенной операцией, связанной со строковыми переменными, является необходимость замены одного вхождения символов в строке другим вхождением. Например, рассмотрим следующую строку:
"This is my string of characters."
Возможно, вы захотите заменить «из» другим словом, например «имеющим».
Следующая универсальная функция может делать это и многое другое:
Function RepText(sIn As String, sFind As String, sRep As String) As String Dim x As Integer x = InStr(sIn, sFind) While x > 0 sIn = Left(sIn, x - 1) & sRep & Mid(sIn, x + Len(sFind)) x = InStr(sIn, sFind) Wend RepText = sIn End Function
В качестве примера использования функции вы можете сделать следующее:
sTemp = "This is my string of characters." sTemp = RepText(sTemp, "of", "that has")
При выполнении этого кода sTemp будет содержать строку «Это моя строка с символами».
В своих подпрограммах я часто использую такую же функцию, как RepText, для удаления лишних пробелов (заменяя строку с двумя пробелами строкой с одним пробелом)
или замена нескольких пробелов символом табуляции. Как вы его используете, конечно, полностью зависит от вас.
Тем, кто использовал только последние версии VBA, может быть любопытно, почему я бы использовал такую функцию, как RepText, а не встроенную функцию Replace. Хотя функция Replace по существу делает то же самое, что и RepText, ее добавление в арсенал VBA — относительно новое явление. Если у ваших макросов есть хотя бы малейшая вероятность использования в более старых версиях Word, то использование Replace может привести к сбою вашего макроса — он не будет доступен в этих версиях.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (811) относится к Microsoft Word 97, 2000, 2002 и 2003.