среда, 3 июня 2015 г.

Определение месяца формирования документа

В стандартных обработках часто нужно указать в итоговом отчете за какой месяц сформирован документ. Причем указать не цифрой, а словом. Стандартной функции для этого во внутреннем языке нет, поэтому используется конструкция Select Case для явного обозначения каждого месяца исходя из дат имеющихся в документе. Например, мы получаем содержимое ячейки B2 в файле реестр документов по МХ - первая ячейка с датой и на ее основе выводим месяц документа. Рассмотрим код:

Dim Data as String
'Стандартная функция MONTH вытаскивает из ячеек с датой номер месяца
Select Case MONTH(ThisComponent.Sheets (0).getCellByPosition(1, 1).Value)
' Следующий цикл очень похож на if then - т.е. выводить что-либо по условию
'но если условий много - лучше использовать Select Case
' Далее все просто - если Case равен единице, значит месяц январь и тд.
Case 1
Data = "январь"
Case 2
Data = "февраль"
Case 3
Data = "март"
Case 4
Data = "апрель"
Case 5
Data = "май"
Case 6
Data = "июнь"
Case 7
Data = "июль"
Case 8
Data = "август"
Case 9
Data = "сентябрь"
Case 10
Data = "октябрь"
Case 11
Data = "ноябрь"
Case 12
Data = "декабрь"
End Select
Dim GM
' А в данной строчке мы добавим к нашей переменной Data c названием месяца - год
' В итоге получится строчка в виде -  июнь 2014
GM = Data & " " & YEAR(ThisComponent.Sheets (0).getCellByPosition(1, 1).Value)

Задача: В Файле Реестр товарных позиций по МХ получите название месяца по первой заполненной ячейке столбца Дата. Определите с из какого столбца лучше получить наименование ГМ (нужно будет с помощью поиска и замены удалить лишний текст справа от названия). Методом сцепки вывести в ячейку А1 фразу ГМ Название за месяц год.
Из примера выше видно что сцепки осуществляются с помощью символов &, между ними обычно вставляют пробелы " " чтобы итоговая строка была удобочитаемой.

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

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