![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | 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;  | 
| 
		 
			 
			#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;  |