Часто в обрабатываемых документов требуется провести поиск и замену каких-либо символов для очистки документа или его подготовки для целей фильтрации, чтобы придать определенному столбцу универсальный вид. Рассмотрим код поиска и замены, реализованного без вывода каких-либо дополнительных окон:
Sub Zamena
oReplace = ThisComponent.Sheets(0).createReplaceDescriptor()
oReplace.setSearchString("•Производственные цеха•Производство")
oReplace.setReplaceString("")
oReplace.SearchWords = False
nCount = ThisComponent.Sheets(0).replaceAll(oReplace)
oReplace = ThisComponent.Sheets(0).createReplaceDescriptor()
End Sub
Прокомментируем:
' Определяем лист на котором будет проводить поиск и замену, в данном случае лист 1
oReplace = ThisComponent.Sheets(0).createReplaceDescriptor()
"Определяем какую фразу следует искать
oReplace.setSearchString("•Производственные цеха•Производство")
"Определяем на какую фразу нужно заменить искомую фразу - в данном случае на пустое 'значение
oReplace.setReplaceString("")
' Определяем что искать нужно не только слова но и символы (False)
oReplace.SearchWords = False
' Следующими строками запускаем сам обработчик с указанием нужно листа
nCount = ThisComponent.Sheets(0).replaceAll(oReplace)
oReplace = ThisComponent.Sheets(0).createReplaceDescriptor()
Задача: Создайте в документе Реестр документов по МХ обработчик, который заменит сочетание "ПРОБАК" на "Цех фасовки бакалеи"
Функцию поиска и замены также удобно использовать когда нужно провести фильтрацию по ряду признаков, чтобы не применять множество фильтров - можно заменить не нужные значения на какое-то условное, а затем отфильтровать по нему.
Например Вам нужно убрать из отчета строки с данными цехов фасовки - применяется замену к каждому цеху - можно заменить на поль и затем отфильтровать по условию не равно нулю.
Sub Zamena
oReplace = ThisComponent.Sheets(0).createReplaceDescriptor()
oReplace.setSearchString("•Производственные цеха•Производство")
oReplace.setReplaceString("")
oReplace.SearchWords = False
nCount = ThisComponent.Sheets(0).replaceAll(oReplace)
oReplace = ThisComponent.Sheets(0).createReplaceDescriptor()
End Sub
Прокомментируем:
' Определяем лист на котором будет проводить поиск и замену, в данном случае лист 1
oReplace = ThisComponent.Sheets(0).createReplaceDescriptor()
"Определяем какую фразу следует искать
oReplace.setSearchString("•Производственные цеха•Производство")
"Определяем на какую фразу нужно заменить искомую фразу - в данном случае на пустое 'значение
oReplace.setReplaceString("")
' Определяем что искать нужно не только слова но и символы (False)
oReplace.SearchWords = False
' Следующими строками запускаем сам обработчик с указанием нужно листа
nCount = ThisComponent.Sheets(0).replaceAll(oReplace)
oReplace = ThisComponent.Sheets(0).createReplaceDescriptor()
Задача: Создайте в документе Реестр документов по МХ обработчик, который заменит сочетание "ПРОБАК" на "Цех фасовки бакалеи"
Функцию поиска и замены также удобно использовать когда нужно провести фильтрацию по ряду признаков, чтобы не применять множество фильтров - можно заменить не нужные значения на какое-то условное, а затем отфильтровать по нему.
Например Вам нужно убрать из отчета строки с данными цехов фасовки - применяется замену к каждому цеху - можно заменить на поль и затем отфильтровать по условию не равно нулю.
Комментариев нет:
Отправить комментарий