Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:creating_user_reports:use_macros_in_reports:examples:two_tasks [2014/03/04 11:24] barinova |
ru:creating_user_reports:use_macros_in_reports:examples:two_tasks [2018/04/09 15:33] (текущий) |
||
---|---|---|---|
Строка 10: | Строка 10: | ||
==== Текущая ситуация ==== | ==== Текущая ситуация ==== | ||
- | Бывают ситуации, когда необходимо выводить значения некоторых параметров у объектов. При этом значения некоторых из этих параметров могут быть не заполнены. В свойствах объектов это видно и понятно, а в отчетах может быть не столь очевидным. Поэтому, будет полезно вместо пустого значения выводить какое-то пояснение. | + | Бывают ситуации, когда необходимо выводить значения некоторых параметров у объектов. При этом значения некоторых из этих параметров могут быть не заполнены. В свойствах объектов это видно и понятно, а в отчетах может быть не столь очевидным. Поэтому будет полезно вместо пустого значения выводить какое-то пояснение. |
==== Постановка задачи ==== | ==== Постановка задачи ==== | ||
Строка 54: | Строка 54: | ||
==== Концепция решения ==== | ==== Концепция решения ==== | ||
- | В Word имеется функционал для сортировки данных в таблицах (лента "Макет"). Мы сделаем то же самое, но кодом VBA. | + | В Word имеется функционал для сортировки данных в таблицах (лента "Макет"). Мы сделаем тоже самое, но кодом VBA. |
- | Для ситуации, когда у разных должностей будет одинаковое количество процессов, необходимо будет сделать так сортировку должностей по алфавиту. Это будет второй столбец сортировки. Будет считать, что она находится перед столбцом с количеством процессов. | + | Для ситуации, когда у разных должностей будет одинаковое количество процессов, необходимо будет сделать сортировку должностей по алфавиту. Это будет второй столбец сортировки. Будем считать, что она находится перед столбцом с количеством процессов. |
- | После проведенной сортировки столбец с нумерацией не будет соответствовать действительности. Поэтому, необходимо для каждой ячейки этого столбца проставить последовательную нумерацию. | + | После проведенной сортировки столбец с нумерацией не будет соответствовать действительности. Поэтому необходимо для каждой ячейки этого столбца проставить последовательную нумерацию. |
===== Шаги решения ===== | ===== Шаги решения ===== | ||
Строка 66: | Строка 66: | ||
- Общими для обоих макросов задач будет являться проверка наличия закладки (привязки) в отчете. Поэтому эту задачу реализуем через функцию. Вызов этой функции будет из каждого макроса задач. | - Общими для обоих макросов задач будет являться проверка наличия закладки (привязки) в отчете. Поэтому эту задачу реализуем через функцию. Вызов этой функции будет из каждого макроса задач. | ||
- | <code vb> | + | <code> |
Sub ПослеВыполненияОтчета(ob As Variant, app As Variant) | Sub ПослеВыполненияОтчета(ob As Variant, app As Variant) | ||
Строка 85: | Строка 85: | ||
BookmarkName = "Количество_субъектов_по__c209c161" | BookmarkName = "Количество_субъектов_по__c209c161" | ||
- | Dim NeedColumn As Integer 'номер столбца где пустая ячейка | + | Dim NeedColumn As Integer 'номер столбца, где пустая ячейка |
NeedColumn = 2 | NeedColumn = 2 | ||
Строка 130: | Строка 130: | ||
'Макрос производит сортировку данных в нужных полях | 'Макрос производит сортировку данных в нужных полях | ||
- | 'Сортировка по количеству по убыванию | + | 'Сортировка по количеству, по убыванию |
'ВВОДНАЯ | 'ВВОДНАЯ | ||
Строка 214: | Строка 214: | ||
[{{ ru:creating_user_reports:use_macros_in_reports:two_tasks:two_tasks7.png?nolink |Рисунок 7 -- Вид привязки, выводящей кол-во процессов у должностей, в выполненном отчете (после решения задачи)}}] | [{{ ru:creating_user_reports:use_macros_in_reports:two_tasks:two_tasks7.png?nolink |Рисунок 7 -- Вид привязки, выводящей кол-во процессов у должностей, в выполненном отчете (после решения задачи)}}] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | [<contextnavigator>] | ||
+ | |||
+ |