Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

StringGrid и таблица Word


Страницы:   1 2 3

Максон ©   (2011-04-11 12:19:00) 

Уважаемые форумчане, подскажите или наведите на мысль
Каким образом  данные из StringGrid можно перенести в готовую таблицу шаблона Word.


Максон   (2011-04-11 17:01:00) [41]

Ребята, спасибо огромное, щас буду разбираться


Максон   (2011-04-11 16:57:00) [42]


> >   T.Cell(1, 1).Range.Text := 'qwer';'qwer' в первой таблице,
>   в ячейке (1 1), есть?


Да есть, так получается.
А вот из Stringrid - никак


Smile   (2011-04-11 15:39:00) [43]

YurikGL
Уже как несколько лет назад выложил информацию про это в категорию "Статьи", да и на http://articles.org.ru/много инфы по этому вопросу


Dennis I. Komarov   (2011-04-11 15:27:00) [44]

Универсальный метод для:

Открываем Ворд (файл)
Макрос на запись
Написали текст
Макрос стоп
Смотрим...


OW   (2011-04-11 14:50:00) [45]


>   T.Cell(1, 1).Range.Text := 'qwer';

'qwer' в первой таблице,  в ячейке (1 1), есть?


Максон   (2011-04-11 13:37:00) [46]

Как посоветовали переделал все

procedure TForm2.DocbtnClick(Sender: TObject);
var
W, T: Variant;
begin
W :=  CreateOleObject('Word.Application');

W.Visible:=True;
W.DisplayAlerts:=True;

try
  W.Documents.Open(GetCurrentDir +'\mmm.dot',EmptyParam,EmptyParam,EmptyParam,
                              EmptyParam,EmptyParam,EmptyParam,
                              EmptyParam,EmptyParam,EmptyParam);
  T := W.ActiveDocument.Tables.Item(1);
  T.Cell(5, 2).Range.Text := strngrd1.Cells[0,2];
 finally
end;
end;


Но все равно не получается отображение данных в таблице. Уже весь букварь перелистал, не могу назначить нужную ячейку в Stringgrid


Максон   (2011-04-11 13:01:00) [47]

Ребята, ну я правда не знаю как сделать :(


Dennis I. Komarov   (2011-04-11 12:59:00) [48]

Кофе или ромашки?


Максон   (2011-04-11 12:49:00) [49]

Это код почему-то не работает

procedure TForm2.DocbtnClick(Sender: TObject);

var RowPoint: Integer;
begin
   if strngrd1.RowCount > 1 then
   begin
     if FileExists(GetCurrentDir + '\mmm.dot') then
     begin
               //
       WA := CreateOLEObject('Word.Application');
       WA.Documents.Add(GetCurrentDir + '\mmm.dot', false, 0);
       WA.Options.CheckSpellingAsYouType := false;
       WA.Options.CheckGrammarAsYouType := false;
       //

       // на всю талицу сделал закладку "Таблица"
       WA.ActiveDocument.Bookmarks.Item('ТАБЛИЦА').Select;
       for RowPoint := 2 to strngrd1.RowCount do
       begin
                   //
         // Добавляем новую строку
         WA.Selection.Tables.Item(1).Rows.Add(EmptyParam);
         // Заполняем строку
         WA.Selection.Tables.Item(1).Cell( 2, 1).Range.Text := IntToStr(RowPoint - 1) + '.'; // 1-ый столбец

         WA.Selection.Tables.Item(1).Cell( 2, 2).Range.Text := strngrd1.Cells[0, RowPoint - 1];  // 2-ой столбец

         WA.Selection.Tables.Item(1).Cell( 2, 3).Range.Text := strngrd1.Cells[1, RowPoint - 1];   // 3-тий столбец

         WA.Selection.Tables.Item(1).Cell( 2, 4).Range.Text := strngrd1.Cells[2, RowPoint - 1];   // 4-тый столбец

         WA.Selection.Tables.Item(1).Cell( 2, 5).Range.Text := strngrd1.Cells[5, RowPoint - 1];   // 6-той столбец

         WA.Selection.Tables.Item(1).Cell( 2, 6).Range.Text := strngrd1.Cells[6, RowPoint - 1];   // 7-мой столбец

         WA.Selection.Tables.Item(1).Cell( 2, 7).Range.Text := strngrd1.Cells[7, RowPoint - 1];   // 8-мой столбец

       end;
 end;
 end;
 end;


OW   (2011-04-11 12:49:00) [50]

var
 W, T: Variant;
begin
 W :=  CreateOleObject('Word.Application');
 try
   W.Documents.Open('C:\1.doc',EmptyParam,EmptyParam,EmptyParam,
                               EmptyParam,EmptyParam,EmptyParam,
                               EmptyParam,EmptyParam,EmptyParam);
   T := W.ActiveDocument.Tables.Item(1);
   T.Cell(1, 1).Range.Text := 'qwer';


Dennis I. Komarov   (2011-04-11 12:42:00) [51]

и вот как же на нее наводить, прикажите?

цикл по всем строкам
 цикл по всем столбцам
   в ячейку таблицы в word вставить соотверствующее содержимое из StringGrid


clickmaker   (2011-04-11 12:37:00) [52]

н-р, с помощью TWordApplication


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо