Как использовать/Включить (объект RegExp) Регулярное выражение с использованием VBA (MACRO) в слове

Я много сделал для Googling, чтобы получить правильный ответ о том, как использовать или начинать использовать регулярные выражения в VBA.

Наконец-то я понял, что хочу поделиться своими знаниями с вами, ребята. Пожалуйста, поправьте меня, если я ошибаюсь.

Ответ 1

По умолчанию параметр "Регулярное выражение" отключен в слове 2007, чтобы включить эту операцию, выполните следующие шаги:

1). Перейдите в раздел Инструменты > Ссылки, как показано ниже.  enter image description here

2). Теперь поставьте галочку в опции "Microsoft VBScript Regular Expressions 5.5" и затем нажмите oh, как показано ниже. enter image description here

3). Теперь вы можете создать объект RegExp в VBA script. Вы можете проверить его на поиск в базе данных объектов, как описано ниже. View > Object Browser (Или нажмите F2), как показано ниже.

enter image description here

и найдите объект RegExp

enter image description here

4). Объект RegExp использует регулярные выражения для соответствия шаблону. Следующие свойства предоставляются RegExp. Эти свойства задают шаблон для сравнения строк, которые передаются экземпляру RegExp:

a. Шаблон: Строка, определяющая регулярное выражение.

b. IgnoreCase: Логическое свойство, которое указывает, нужно ли тестировать регулярное выражение для всех возможных совпадений в строке.

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

RegExp предоставляет следующие методы для определения того, соответствует ли строка определенному шаблону регулярного выражения:

d. Тест: Возвращает логическое значение, указывающее, может ли регулярное выражение успешно сопоставляться с строкой.

e. Выполнить: Возвращает объект MatchCollection, содержащий объект Match для каждого успешного совпадения.

Пожалуйста, найдите пример для RexExp, предоставленный в форуме Microsoft msdn.

Function TestRegExp(myPattern As String, myString As String)
   'Create objects.
   Dim objRegExp As RegExp
   Dim objMatch As Match
   Dim colMatches   As MatchCollection
   Dim RetStr As String

   ' Create a regular expression object.
   Set objRegExp = New RegExp

   'Set the pattern by using the Pattern property.
   objRegExp.Pattern = myPattern

   ' Set Case Insensitivity.
   objRegExp.IgnoreCase = True

   'Set global applicability.
   objRegExp.Global = True

   'Test whether the String can be compared.
   If (objRegExp.Test(myString) = True) Then

   'Get the matches.
    Set colMatches = objRegExp.Execute(myString)   ' Execute search.

    For Each objMatch In colMatches   ' Iterate Matches collection.
      RetStr = RetStr & "Match found at position "
      RetStr = RetStr & objMatch.FirstIndex & ". Match Value is '"
      RetStr = RetStr & objMatch.Value & "'." & vbCrLf
    Next
   Else
    RetStr = "String Matching Failed"
   End If
   TestRegExp = RetStr
End Function

Я надеюсь, что это может помочь кому-то, потому что я потратил почти полдня на него.

Спасибо