Удаление квадратных скобок

Автор Tin, 3 марта 2016, 11:53

0 Пользователи и 1 гость просматривают эту тему.

Tin

И снова здравствуйте. Я фактически закончила с макросом, даже отослала заказчику, но не учла одно пожелание. В прайс-листе нужно удалить квадратные скобки. Попробовала уже несколькими способами, прогоняя через цикл поиск и замену, функцией REPLACE, но никак не выходит( Помогите, пожалуйста. Прайс лист специально урезала для проверки.

rami

#1
Цитата: Tin от  3 марта 2016, 11:53
И снова здравствуйте. Я фактически закончила с макросом, даже отослала заказчику, но не учла одно пожелание. В прайс-листе нужно удалить квадратные скобки. Попробовала уже несколькими способами, прогоняя через цикл поиск и замену, функцией REPLACE, но никак не выходит( Помогите, пожалуйста. Прайс лист специально урезала для проверки.
Прайс-лист — это OSTATKI_18-01-16 - копия.xls? Поиск и замена без проблем удаляют, нужно только запретить регулярные выражения, или с регулярными искать:\[|\]

kompilainenn

название темы измените..."квадратные кавычки" вводят в ступор
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Tin

Цитата: rami от  3 марта 2016, 11:12Прайс-лист — это OSTATKI_18-01-16 - копия.xls? Поиск и замена без проблем удаляют, нужно только запретить регулярные выражения, или с регулярными искать:
Код:
\[|\]

А можно подробнее о том, как осуществить это в макросе, пожалуйста. Я не совсем понимаю этот момент...

rami

Цитата: Tin от  3 марта 2016, 18:03А можно подробнее о том, как осуществить это в макросе, пожалуйста. Я не совсем понимаю этот момент...
Вот пример:Sub SearchInSheet
Dim oSheet 'Лист для замены
Dim oReplace 'Дескриптор замены
Dim nCount 'Выполненное количество замен
oSheet=ThisComponent.Sheets(0)
oReplace=oSheet.createReplaceDescriptor()
oReplace.SearchRegularExpression=True
oReplace.setSearchString("\[|\]") 'Что ищем
oReplace.setReplaceString("") 'На что заменяем
oReplace.SearchWords=False
nCount = oSheet.replaceAll(oReplace)
MsgBox "Количество замен " & nCount
End Sub

Tin

Цитата: rami от  3 марта 2016, 19:54Вот пример:
Код:
Sub SearchInSheet
Dim oSheet      'Лист для замены
Dim oReplace      'Дескриптор замены
Dim nCount      'Выполненное количество замен
oSheet=ThisComponent.Sheets(0)
oReplace=oSheet.createReplaceDescriptor()
oReplace.SearchRegularExpression=True
oReplace.setSearchString("\[|\]")      'Что ищем
oReplace.setReplaceString("")         'На что заменяем
oReplace.SearchWords=False
nCount = oSheet.replaceAll(oReplace)
MsgBox "Количество замен " & nCount
End Sub

Огромнейшее спасибо! Вы мне очень помогли!