![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() В процессе работы программы планируется заносить данные в таблицу открытого докумета Word:
begin MsWord := CreateOleObject('Word.Application'); MsWord.Visible := True; MSWord.Documents.Open('C:\Documents and Settings\vladim\akt1.doc'); //MSWord.Run('mak5'); MSWord.ActiveDocument.Table1.Cells[j,2].value =: Edit1.text; Ошибка в последней строке! Пытался этот документ выводить макросом, где эта таблица присутствует как Table(1). Вывести данные в ячейки таблицы не получается. Как правильно записать последнюю строку фрагмента программы? |
#2
|
||||
|
||||
![]() А какая именно ошибка?
У тебя во первых должно быть не Цитата:
Код:
MSWord.ActiveDocument.Table1.Cells[j,2].value := Edit1.text; Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#3
|
|||
|
|||
![]() Цитата:
Исправил =: на := , выводится сообщение - Method 'Table1' no supported by automation object ..., я перенес его с Excel, где он работает. Написал MSWord.ActiveDocument.Tables.Item(Table).Cell(j,2) .Range.InsertAfter(text := Edit1.Text); по аналогии с vWord.ActiveDocument.Tables.Item(Table).Cell(Row,C olumn). Range.InsertAfter(Text:=Value); но тогда - сообщение: Запрашиваемый номер семейства не существует. Process stopped ... Что делать дальше? |
#4
|
|||
|
|||
![]() Цитата:
Похоже, на этом форуме какое-то заочное соревнование: дать ответ первым после открытия темы, дальше проблема перестает всех интересовать, даже в том случае, если она не решена. Придется нарушить традицию, самому (автору темы). После долгих поисков я нашел решение: Вначале необходимо обратиться к таблице открытого документа Word tbl:=WordApplication1.ActiveDocument.Tables.Item(1 ); а потом записывай (или считывай) что душа пожелает ... Tbl.Cell(j, 2).Range.Text := Edit3.Text; |