|
08.07.2011, 00:46 | #1 |
Участник
|
Импорт из таблицы Word в АХ 2009
Прошу помочь!
Нужно прочесть данные из таблицы Word-а, колонка 2 и в случае совпадения заданного номера с 1-й из ячеек колонки 2, выдать все содержимое колонки 2 на печать в Microsoft Dynamics AX 2009. Я новичок в этой области. Спасибо! URL: http://www.eet.am |
|
08.07.2011, 09:17 | #2 |
Moderator
|
Ну и задача! Тестовая что-ли? Ибо сразу две несуразности (вначале хотел сказать "два идиотизма" - sorry!): таблица в Worde и печать из Аксапты.
Если по сути, если решаем задачу, а не упражняемся в программировании конкретно этой постановки, то я бы перекинул таблицу в Excel и распечатал в нем же, не прибегая к программированию, используя пару формул. |
|
08.07.2011, 09:45 | #3 |
Участник
|
Задача более объемная, просто я хотел получить пример и далее планировал сам разобраться и продолжить. В задаче документооборота на MD AX 2009 накоплен архив более 10000 документов с прикрепленными Word-овскими файлами с таблицей из 2-х колонок, необходимо по данному списку номеров документов найти указанные документы в архиве и из прикрепленных Word файлов считывать информацию из 2-ой колонки для дальнейшего использования в среде MD AX 2009.
Спасибо! |
|
08.07.2011, 10:49 | #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). |
|
|