Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

20 Июнь 2019, 05:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2   Вниз
  Печать  
Автор Тема: Автоматическая фильтрация в документе.  (Прочитано 2951 раз)
0 Пользователей и 1 Гость смотрят эту тему.
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #44866: 29 Январь 2018, 15:52 »

Можешь попробовать такой вариант (должен работать и по AOO)
Код:
Sub fltrNonZero
Dim oCurrentController As Variant
Dim oSheet As Variant, oCursor As Variant, oDataArray As Variant, oStatus As Variant
Dim i As Long, m As Long
Dim aRow As Variant, oRows As Variant
oCurrentController = ThisComponent.getCurrentController()
oSheet = oCurrentController.getActiveSheet()
oCursor = oSheet.createCursor()
oCursor.gotoEndOfUsedArea(True)
oRows = oCursor.getRows()
oRows.IsVisible = True
oDataArray = oSheet.getCellRangeByPosition(9, 0, 9, oCursor.getRangeAddress().EndRow).getDataArray()
m = UBound(oDataArray)
oStatus = oCurrentController.getFrame().createStatusIndicator()
oStatus.start("", m)
For i = m To LBound(oDataArray) Step -1
If Trim(oDataArray(i)(0)) = "" Then oRows.getByIndex(i).IsVisible = False
If i Mod 50 = 0 Then oStatus.setValue(m-i)
Next i
oStatus.end()
End Sub
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Страниц: « 1 2   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!