Если вы пишете макросы, вы, вероятно, много работаете со строковыми переменными. Распространенной операцией, связанной со строковыми переменными, является необходимость замены одного вхождения символов в строке другим вхождением. Например, рассмотрим следующую строку:

"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.