Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Word, шаблон, вставить таблицу


Автор: AlexP11223 24.5.2012, 18:39
Есть шаблон документа word (.dot, при открытии вроде бы все работает так же, как и если бы просто обычный документ). Надо вставить в определенное место таблицу с некими данными (место отмечено $TABLE1$, т.е. надо заменить эту строку). 

Как это сделать? Если просто заменить строку на другую  строку, то вроде есть решения, а вот таблицу...

Код открытия и т.п. на всякий случай:

Код

const
  DOC_TEMPLATE = 'template.dot';
  wdFormatDocument = 0;

var
  WordApp: OleVariant;

implementation


// Запускает экземпляр Word (и делает невидимым)
procedure RunWord;
begin
  WordApp := CreateOleObject('Word.Application');
  WordApp.Visible := False;;
end;


// Закрывает Word
procedure StopWord;
begin
  WordApp.Quit;
  WordApp := Unassigned;
end;


// Cохраняет активный документ Word
// возвращает false если не удалось сохранить
function SaveDoc(FileName: TFileName):Boolean;
begin
  WordApp.ActiveDocument.SaveAs(FileName, wdFormatDocument);
  if WordApp.ActiveDocument.Saved then
    Result := True
  else
   Result := False;
end;


procedure MakeDoc(FileName: TFileName);
begin
  RunWord;

  WordApp.Document.Open(DOC_TEMPLATE);

  // сохранение файла
  if not SaveDoc(FileName) then
  begin
    Application.MessageBox('Не удалось сохранить документ.', 'Ошибка', MB_OK + 
      MB_ICONSTOP);
    exit;
  end;

  StopWord;
end;

Автор: MetalFan 24.5.2012, 19:13
Цитата(Omfgnoob123 @  24.5.2012,  18:39 Найти цитируемый пост)
Как это сделать?

открываешь ворд, старуешь запись макроса, вставляешь таблицу, останавливаешь запись макроса, смотришь код макроса, дублируешь(адаптируешь) его у себя в приложении.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)