Delphi 2010: многослойный контент в таблице слов
Вопрос
Я автоматизирую создание документов с помощью Delphi 2010.
В макете, который у меня есть, мне нужно вставить одну строку текста в ячейку таблицы слов (1, 1), затем перейти к следующей строке, изменить настройки абзаца и вставить горизонтальное правило
Я могу настроить таблицу и контент первой строки, но не могу на протяжении всей жизни, как перенести курсор во вторую линию ячейки, или вставить горизонтальную линию
Что у меня до сих пор:
tbl.Cell(1, 1).Range.Text := s;
with tbl.Cell(1, 1).Range do
begin
Font.Name := '+Headings';
Font.Size := 14;
Font.Bold := -1;
Font.AllCaps := -1;
ParagraphFormat.LineSpacingRule := wdLineSpaceAtLeast;
ParagraphFormat.LineSpacing := 12;
ParagraphFormat.SpaceAfter := 0;
ParagraphFormat.SpaceBefore := 0;
end;
tbl.Cell(1, 1).Range.InsertParagraphAfter;
Я даже не могу создать макрос для горизонтальной линии (который должен быть и точный размер и вес), так как VBA в Word 2010 не будет записывать с правых щелчков ...
Решение
Итак, код, который мне нужно было сделать для новой линии, был следующим образом
seltype := wdLine;
lineextend := False;
WordApp.Selection.EndKey(seltype, lineextend);
WordApp.Selection.TypeParagraph;
Который посылает сигнал «конца» на слово.
Что касается записи новой горизонтальной линии, я обнаружил, что в некоторых ситуациях Контекстное меню На клавиатуре Windows все еще работает при записи макросов, где нет щелчка правой кнопкой мыши.