пятница, 29 мая 2015 г.

Сортировка

Сортировка данных программным методом важная часть макроса - сортировка помогает ускорить процесс обработки данных и сразу представить их пользователю в удобном для восприятия виде.
Рассмотрим код:

Sub Sort
Dim oSheet
Dim oRange
Dim oSortFields(0) as new com.sun.star.util.SortField
Dim oSortDesc(0) as new com.sun.star.beans.PropertyValue
'Установка листа, где будет проводится сортировка, в данном случае лист 1
oSheet = ThisComponent.Sheets(0)
'Установка диапазона сортировки, важно  - диапазон не должен включать в себя пустые столбцы
 ' вне диапазона (внутри можно)
oRange = oSheet.getCellRangeByName("A1:L65535")
'Указываем поле для сортировки, нумерация начинается с нуля
' В данном случае это первый столбец
oSortFields(0).Field = 0
' Устанавливаем порядок сортировки - True по возрастанию, False - по убыванию
oSortFields(0).SortAscending = True
'Служебные команды выполняющие непосредственно сортировку
oSortDesc(0).Name = "SortFields"
oSortDesc(0).Value = oSortFields()
oRange.Sort(oSortDesc())
End Sub

Обычно макрос сортировки вызывается как подпрограмма в основной макрос.

Задача: В файле Реестр документов по МХ выполнить сортировку программным способом:
а) по убыванию даты документа
б) по возрастанию суммы документа

Комментариев нет:

Отправить комментарий