Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2011, 08:56   #1
Smerch66
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 33
По умолчанию Экспорт массива в таблицу Word

Имеется двумерный массив "mass" типа string. В нём "a" столбцов и "b" строк. Как сделать так, чтобы по нажатию на одну кнопку выполнялись следующие действия:
1) открывался новый документ Microsoft Word (новый - то есть чистый, ещё нигде не сохранённый)
2) в нём создавалась таблица с "a" столбцами и "b" строками, в которую вставились бы данные из массива "mass".
3) убрать привязку программы к этому документу, но документ должен остаться открытым.
Уважаемые специалисты, буду очень признателен за код с комментариями.
Smerch66 вне форума Ответить с цитированием
Старый 30.01.2011, 10:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
program Project1;
 //http://www.programmersforum.ru/showthread.php?t=134979
{$APPTYPE CONSOLE}

uses   crtfox,
  comobj,  variants,
  SysUtils;
    
var App,WordDoc,WordTable:OleVariant; 
 a:array[1..10,1..5] of integer;

 Function WordApplication:OleVariant;begin result:=CreateOleObject('Word.Application');end;

 function CreateDocument: Boolean;
 begin
   Result:=false;
   if VarIsClear(App) then exit;
   WordDoc:=App.Documents.Add(EmptyParam,EmptyParam,EmptyParam);
   Result:=true;
 end;

 Function CreateTable:OleVariant;
 var i,j:integer;  WordRow:OleVariant;
 begin
  WordTable :=WordDoc.Tables.Add(App.Selection.Range,length(a),length(a[high(a)]));
  for i:=low(a) to high(a) do begin
   for j:=low(a[i]) to high(a[i]) do begin
     WordTable.Cell(i, j).Range.Text :=a[i,j];
   end;
  end;
 end;

begin
 App:=WordApplication;
 App.Visible:=true;
 CreateDocument;
 CreateTable;
 App:=unassigned;
  { TODO -oUser -cConsole Main : Insert code here }
end.
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт значений из нескольких документов Word в одну таблицу Excel для дальнейших расчетов. YJYNGK Microsoft Office Excel 0 30.10.2010 13:42
экспорт отчета в Word higor Microsoft Office Access 4 04.10.2009 00:24
экспорт в word AD_min Общие вопросы Delphi 4 05.12.2008 14:17
Экспорт из Access в Excel, Экспорт из отчётов в таблицу Excel Kissedbythegod Microsoft Office Access 1 31.05.2008 22:15
Экспорт в Word Constellation БД в Delphi 5 15.04.2008 18:47