Delphi 2010: многострочный контент в Word Table - PullRequest
0 голосов
/ 01 декабря 2011

Я автоматизирую создание некоторых документов с помощью Delphi 2010.

В моем макете мне нужно вставить одну строку текста в ячейку таблицы Word (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 не будет записывать с правого клика ...

1 Ответ

0 голосов
/ 06 декабря 2011

Итак, код, который мне нужен для создания новой строки, был следующим:

seltype := wdLine;
lineextend := False;
WordApp.Selection.EndKey(seltype, lineextend);
WordApp.Selection.TypeParagraph;

Который отправляет сигнал «Конец» в Word.

Что касается записи новой горизонтальной линии, я обнаружил, что в некоторых ситуациях клавиша контекстного меню на клавиатуре Windows по-прежнему работает при записи макросов, где щелчок правой кнопкой мыши не работает.

...