| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Прошу помочь!     
		
		
		
		
		
		
		
	Нужно прочесть данные из таблицы Word-а, колонка 2 и в случае совпадения заданного номера с 1-й из ячеек колонки 2, выдать все содержимое колонки 2 на печать в Microsoft Dynamics AX 2009. Я новичок в этой области. Спасибо! URL: http://www.eet.am  
		 | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну и задача! Тестовая что-ли? Ибо сразу две несуразности (вначале хотел сказать "два идиотизма" - sorry!): таблица в Worde и печать из Аксапты.  
		
		
		
		
		
		
		
	Если по сути, если решаем задачу, а не упражняемся в программировании конкретно этой постановки, то я бы перекинул таблицу в Excel и распечатал в нем же, не прибегая к программированию, используя пару формул.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Задача более объемная, просто я хотел получить пример и далее планировал сам разобраться и продолжить. В задаче документооборота на MD AX 2009 накоплен архив более 10000 документов с прикрепленными Word-овскими файлами с таблицей из 2-х колонок, необходимо по данному списку номеров документов найти указанные документы в архиве и из прикрепленных Word файлов считывать информацию из 2-ой колонки для дальнейшего использования в среде MD AX 2009. 
		
		
		
		
		
		
		
	Спасибо!  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			С таблицей Word в коде VBA можно работать почти как с ексельной. Вот небольшой примерчик, показывающий какие свойства и объекты надо дергать: 
		
		
		
		
		
		
		
	Код: Sub traverseTableInWord()
    Dim tbl     As Table    'таблица
    Dim c       As Cell     'ячейка в таблице
    Dim i       As Long     'счетчик строк
    Dim j       As Long     'счетчик столбцов
    Dim cVal    As String   'значение ячейки как текст
    
    Dim excel   As Object   'это для использования функции CLEAN - удаление непечатных символов
    Set excel = CreateObject("Excel.Application")
    
    Set tbl = ActiveDocument.Tables.Item(1) 'подразумевается, что таблица - самая первая в документе
    For i = 1 To tbl.Rows.Count
        For j = 1 To tbl.Columns.Count
            Set c = tbl.Cell(i, j)
            cVal = excel.WorksheetFunction.Clean(c.Range.Text)
            Debug.Print i, j, cVal 'печать строки, столбца, значения ячейки
        Next j
    Next i
End Sub | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Player1 (4). | |
| 
	
	 | 
	
		
  |