Тема: Экспорт в Excel значений табличного атрибута

Есть форма с таблицей из двух колонок: "юзер" и "зарплата"
Количество строк может быть различным.
Задача: из табличного атрибута извлечь значения и экспортировать их в таблицу Ексель (для последующей печати).
Думал сделать так, но не срабатывает одна строка (см. комментарий в коде)...

Option Explicit
  dim e
  set e = CreateObject("Excel.Application")
  e.Workbooks.Add 'добавление новой книги
  e.Visible = True 'активация
  Dim Row, rows
  Dim Shift, xlDown 'это попытка определить екселевские константы (для вставки строк в таблицу)

  Set rows = ThisObject.Attributes("ATTR_raspr").Rows

  For Each Row in rows ' перебираем ряды
    e.Range("A1").Select ' выделяем ячейку А1
    e.ActiveCell.FormulaR1C1 = Row.Attributes("ATTR_fio_uch").Value ' берем значение из таблицы вставляем в А1
    e.Range("B1").Select
    e.ActiveCell.FormulaR1C1 = Row.Attributes("ATTR_nachis").Value
    ' здесь надо бы вставить новую строку в таблицу екселя, при этом
    ' ячейки А1 и В1 сдвинутся вниз и станут снова пустыми, в них можно записывать новые значения
    e.Selection.Insert Shift = xlDown 'вставляем строку
    ' указанная выше строка НЕ РАБОТАЕТ, но и не ругается!
  Next
set e = Nothing

В результате работы в екселе остаются только данные из последней строки табличного атрибута.

Как можно решить проблему?
Может есть другие способы?

Re: Экспорт в Excel значений табличного атрибута

Есть, конечно  :) Я экспортирую в ListObjects. Это методически вернее, особенно для целей обновления значений, разве что ограничено 11+ версией Офиса.

Далее - сам код  :) Зачем все эти выделения?

     ActiveCell.Value = tdmsApp.AttributeDefs(Names(1)).Description
     For i = 1 To ThisObj.Attributes(Names(0)).Rows.Count
         ActiveSheet.Cells(ActiveCell.Row + i, ActiveCell.Column) = ThisObj.Attributes(Names(0)).Rows(i - 1).Attributes(Names(1)).Value
     Next

Re: Экспорт в Excel значений табличного атрибута

попробуй так   ;)

dim e, book, sheet
set e = CreateObject("Excel.Application")  
set book = e.Workbooks.Add 'добавление новой книги
set sheet = book.Worksheets(1) 'получаем первый лист
sheet.name = "Таблица"
sheet.cells(1, 1).value = "ФИО"
sheet.cells(1, 2).value = "тянюшка"
e.Visible = false 'активация  
Dim Row, rows, i
Dim Shift, xlDown 'это попытка определить екселевские константы (для вставки строк в таблицу)
Set rows = ThisObject.Attributes("ATTR_raspr").Rows
i = 1
For Each Row in rows ' перебираем ряды
    i = i + 1 
    sheet.Cells(i, 1).value = Row.Attributes("ATTR_fio_uch").Value
    sheet.Cells(i, 2).value = Row.Attributes("ATTR_nachis").Value
Next
e.visible = true

Re: Экспорт в Excel значений табличного атрибута

Надо изучать Ексель, пожалуй.

    i = i + 1
    sheet.Cells(i, 1).value =...

Про это я даже не подумал!   :blink:

Спасибо!

Re: Экспорт в Excel значений табличного атрибута

DeTrah пишет:

Надо изучать Ексель, пожалуй.

    i = i + 1
    sheet.Cells(i, 1).value =...

Про это я даже не подумал!   :blink:

Спасибо!

незачто   ;)