В ячейке A1 листа Excel у меня есть следующее содержимое внутри ячейки:
select a.id, b.type, c.name
from blah a,
blah2 b,
blah3 c
where a.id = b.key
and b.key = c.id
;
Любое из нижеприведенного является желаемым результатом:
select 1 from
blah a,
blah2 b,
blah3 c
where a.id = b.key
and b.key = c.id
;
ИЛИ ЖЕ
select 1
from blah a,
blah2 b,
blah3 c
where a.id = b.key
and b.key = c.id
;
У меня есть этот код VBA
Dim objRegExp As New RegExp
objRegExp.Pattern = "select .+ from"
objRegExp.Global = True
objRegExp.MultiLine = True
regexpReplace =objRegExp.Replace(Trim(Worksheets("new").Range("A1").Value),"select 1 from")
MsgBox regexpReplace
Но в окне сообщения отображается точный текст из ячейки A1 (т.е. замена не производится). Кто-нибудь знает, почему это происходит? Я не смог бы заменить через мультилинии.
Я знаю, что мой код регулярного выражения в порядке, потому что я попытался изменить ячейку A1 на приведенную ниже (и она произвела замену правильно):
select a.id, b.type, c.name from
blah a,
blah2 b,
blah3 c
where a.id = b.key
and b.key = c.id
;