Это старая версия документа.


Форматирование привязки типа RTF в таблице

Текущая ситуация

В свойствах объектов существуют параметры, которые позволяют фиксировать не просто текст, а форматированный текст. Так называемый формат RTF. Несмотря на то, что для таких параметров, можно задать формат шрифта по умолчанию, бывают ситуации, когда информация в них заносится из других документов путем копирования данных через буфер обмена. При этом остается форматирование текста как у источника. При выводе таких параметров в отчет при сохранении форматирования RTF может происходить выделение данного текста на фоне общего представления отчета. Например, текст будет выведен другим шрифтом и другим размером.

Постановка задачи

В отчете формата Word по процессу в таблице с описанием подпроцесса необходимо столбец "Комментарий" сделать таким же шрифтом, таким же размером как другие столбцы таблицы и таким же стилем абзаца. При этом оставить  другое форматирование: подчеркивание, выделение, цвет и т.д.

Исходные данные

Решение описывается с момента, когда уже существует привязка типа "Список", выводящая список подпроцессов.

Рисунок 1. Привязка, выводящая список подпроцессов, в котором существует привязка с типом RTF - "Комментарий"
Рисунок 2. Вид выполненного отчета - стиль текста "Комментарий" отличен он других столбцов таблицы

Концепция решения

Необходимо обратиться к нужной таблице. Определить параметры шрифта в соседнем столбце от столбца "Комментарий" (значения из ячейки). Далее выделить столбец "Комментарий" и задать необходимые параметры шрифта.

Шаги решения

Определяем название привязки типа "Список", которая представляет нужную таблицу. (см. Вставка привязки в шаблон отчета).

Sub ПослеВыполненияОтчета(ob As Variant, app As Variant)
 
название заклад часть
 
    па Список, формирующей нужную таблицу
    PodProcBookmarksName = "Подпрсок, формирующей нужную таблицу
    PodProcBookmarksName = "Подпроцессы_41fc2dd5"
    columnRTF = 2 привязки
        Dim PodProcBkmOk As Boolean 'сначала считаераметр RTF - "Комментарии"
 
        rk 'переменная типа Закладка
 
        'если ь названия привязки
        Dim PodProcBkmOk As Boolean ctiveDocument.Bookmarks
 
            If Bkжной закладки нет
 
        Dim Bkm As Bookmark k = True 'отмечаем, что запа Закладка
 
        дем работать с таблицей через закладку
                еди закладок в документе
        For Each Bkm In ActiveDocument.Bookmarks
 
            If Bkm.Name = PodProcBookmarksName Then
 
                PodProcBkmOk = True  необходимая закладка
 
      кладка есть
                чейки после заголовка справа от поля RTF
 цей через закладку
                Set tablePodProc = Application.ActiveDocument.Bookmarks(PodProcBookmarksName).Range.Tables(1)
 
            End If
 
        Next
 
шрифт
        FontSiя  часть
 
    If PodProcBkmOk Then      'Выделяем столбец с RTF кроимая закладка
 
        ange
        'начало и конец диапазона
        RngRTFStart = tablePodProc.Cell после заголовка справа от поля RTF
        Dim Rng As Range , columnRTF).Range.End
 
        'выделяем ячейки R справа от столбца RTF
        Set Rng = tablePodProc.Cell(2, columnRTF + 1).Range
 
        FontName = Rng.Font.Name           .Name = м шрифт
        FontSize = Rng.Font.Size d With
 
        'Фом размер
 
           Selection.ParagraphFormat = Rng.Paragкроме заголовка
 

Результат

Рисунок 3. Вид сформированного отчета. Параметр типа RTF имеет такой же шрифт и размер, как и остальная таблица
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki