Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

ru:creating_user_reports:use_macros_in_reports:examples:table_on_page [2013/10/25 09:39]
belkin [Шаги решения]
ru:creating_user_reports:use_macros_in_reports:examples:table_on_page [2018/04/09 15:33] (текущий)
Строка 7: Строка 7:
 ===== Постановка задачи ===== ===== Постановка задачи =====
  
-В отчете формата Word по процессу необходимо, чтобы таблица с описанием подпроцессов умещалась на одну страницу. При этом допускаемся изменение внешних параметров шрифта. Минимальный допустимый размер шрифта -- 7.+В отчете формата Word по процессу необходимо, чтобы таблица с описанием подпроцессов умещалась на одну страницу. При этом допускается изменение внешних параметров шрифта. Минимальный допустимый размер шрифта - 7.
  
 В случае невозможности размещения таблицы на одной странице необходимо разместить ее на меньшем количестве страниц. В случае невозможности размещения таблицы на одной странице необходимо разместить ее на меньшем количестве страниц.
Строка 20: Строка 20:
 [{{ ru:creating_user_reports:use_macros_in_reports:table_on_page:tablepage2.png?nolink }}] [{{ ru:creating_user_reports:use_macros_in_reports:table_on_page:tablepage2.png?nolink }}]
 [{{ ru:creating_user_reports:use_macros_in_reports:table_on_page:tablepage3.png?nolink |Рисунок 2. Таблица с описанием подпроцессов располагается почти на 2х полных страницах }}] [{{ ru:creating_user_reports:use_macros_in_reports:table_on_page:tablepage3.png?nolink |Рисунок 2. Таблица с описанием подпроцессов располагается почти на 2х полных страницах }}]
 +
 ===== Концепция решения ===== ===== Концепция решения =====
  
-Начало таблицы будет определяется по положению указателя в первой левой ячейке таблицы.+Начало таблицы будем определять по положению указателя в первой левой ячейке таблицы.
  
-Для определения конца таблицы добавит в ее конец разрыв раздела (без разрыва страницы). Когда курсор будет находиться в следующем разделе от текущего (где находится таблица), то будем определять номер страницы. Этот номер и будет принимать за номер страницы конца таблицы.+Для определения конца таблицы добавим в ее конец разрыв раздела (без разрыва страницы). Когда курсор будет находиться в следующем разделе от текущего (где находится таблица), то будем определять номер страницы. Этот номер и будет принимать за номер страницы конца таблицы.
  
 Определяя разницу между номерами страниц начала и конца таблицы, будем находить ответ на вопрос: "На 1й странице находится таблица?". Определяя разницу между номерами страниц начала и конца таблицы, будем находить ответ на вопрос: "На 1й странице находится таблица?".
Строка 38: Строка 39:
 ===== Шаги решения ===== ===== Шаги решения =====
  
-Сразу после таблицы добавляем раздел раздела без разрыва страницы: лента "Разметка страниц", группа "Параметры страницы", меню "Разрывы", группа меню "Разрывы разделов" -- пункт "Текущая страница".+Сразу после таблицы добавляем разрыв раздела без разрыва страницы: лента "Разметка страниц", группа "Параметры страницы", меню "Разрывы", группа меню "Разрывы разделов" -- пункт "Текущая страница".
  
 [{{ ru:creating_user_reports:use_macros_in_reports:table_on_page:tablepage4.png?nolink |Рисунок 3. Сразу после таблицы добавили разрыв раздела}}] [{{ ru:creating_user_reports:use_macros_in_reports:table_on_page:tablepage4.png?nolink |Рисунок 3. Сразу после таблицы добавили разрыв раздела}}]
Строка 46: Строка 47:
 [{{ ru:creating_user_reports:use_macros_in_reports:table_on_page:tablepage5.png?nolink |Рисунок 4. Высоту строк после таблицы уменьшили до 1}}] [{{ ru:creating_user_reports:use_macros_in_reports:table_on_page:tablepage5.png?nolink |Рисунок 4. Высоту строк после таблицы уменьшили до 1}}]
  
-Определяем название привязки типа "Список", которая представляет нужную таблицу (см. [[ru/manual/report/insert_anchor?&#пример_определения_названия_привязки_типа_список ]]). +Определяем название привязки типа "Список", которая представляет нужную таблицу (см. [[ru/manual/manual]] -> [[ru/manual/report/insert_anchor?&#пример_определения_названия_привязки_типа_список|Пример определения названия привязки типа "Список"]]). 
-<code vb>+<code>
  Sub ПослеВыполненияОтчета(ob As Variant, app As Variant)  Sub ПослеВыполненияОтчета(ob As Variant, app As Variant)
  
Строка 54: Строка 55:
 HTMLCreate = Application.ActiveDocument.Variables("BSHtml").Value 'True или False HTMLCreate = Application.ActiveDocument.Variables("BSHtml").Value 'True или False
  
-'Изменять размер таблицы имеет мысл только для файлов Word+'Изменять размер таблицы имеет смысл только для файлов Word
 If Not (HTMLCreate) Then If Not (HTMLCreate) Then
                          
     'Вводная часть     'Вводная часть
                  
-        'название закладки для привязи типа Список, формирующей нужную таблицу+        'название закладки для привязки типа Список, формирующей нужную таблицу
         PodProcBkmName = "Подпроцессы_4244cf23"         PodProcBkmName = "Подпроцессы_4244cf23"
         MinFontSize = 7 'минимальный допустимый размер шрифта         MinFontSize = 7 'минимальный допустимый размер шрифта
Строка 82: Строка 83:
             Next             Next
                  
-    'Поцедурная  часть+    'Процедурная  часть
          
         If PodProcOk Then         If PodProcOk Then
Строка 132: Строка 133:
             End If             End If
          
-            'Определеяем конец таблицы+            'Определяем конец таблицы
             Selection.GoToNext wdGoToSection             Selection.GoToNext wdGoToSection
             numberNextSection = Selection.Information(wdActiveEndPageNumber)             numberNextSection = Selection.Information(wdActiveEndPageNumber)
Строка 139: Строка 140:
             If numberNextSection > numberPageTable Then             If numberNextSection > numberPageTable Then
          
-                'Автподбор таблицы по содержимому+                'Автоподбор таблицы по содержимому
                 tablePodProc.AutoFitBehavior (wdAutoFitContent)                 tablePodProc.AutoFitBehavior (wdAutoFitContent)
          
Строка 155: Строка 156:
  
 [{{ ru:creating_user_reports:use_macros_in_reports:table_on_page:tablepage6.png?nolink |Рисунок 5. Результат выполнения отчета -- таблица на одной странице }}] [{{ ru:creating_user_reports:use_macros_in_reports:table_on_page:tablepage6.png?nolink |Рисунок 5. Результат выполнения отчета -- таблица на одной странице }}]
 +
 +
 +
 +
 +
 +[<contextnavigator>]
 +
 +
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki