Добрый день.
Возникла проблема - необходлимо сделать шаблон в экселе. Достаточно сложный (в том смысле, что нужно разделять таблицы, форматировать разные строки по разному, отслеживать конец страницы и т.д. Вопрос в следующем: делается всё через OLE. Шустренько выгружаются данные, но вот проблема - перед тем, как вставлять данные должно пройти форматирование. Которое идёт следующим образом - копируется "эталонная строка" (одна из трёх) и копируется туда, где она должна быть. В 2003-м экселе работает в лёт, а вот в 2007-м - операции проходят, но вот результата нет. То есть процедура форматирования отрабатывает - но шаблон не меняется. После чего отрабатывает процедура выгрузки данных - и данные выгружаются нормально.
Вот код копирования строк. Может кто чего доброго теплого вечного подскажет?
Code:
FORM row_insert USING row TYPE any row_type TYPE any.
DATA: first_row TYPE i.
CASE row_type.
WHEN 'S'.
first_row = 3.
WHEN 'H'.
first_row = 4.
WHEN 'I'.
first_row = 5.
ENDCASE.
IF NOT no_flush IS INITIAL.
CALL METHOD OF
sheet
'ROWS' = rows
EXPORTING
#1 = first_row.
CALL METHOD OF
rows
'SELECT' = select.
CALL METHOD OF
rows
'COPY' = copy.
CALL METHOD OF
sheet
'ROWS' = rows
EXPORTING
#1 = row.
CALL METHOD OF
rows
'SELECT' = select.
CALL METHOD OF
rows
'INSERT' = insert.
ELSE.
CALL METHOD OF
sheet
'ROWS' = rows
NO
FLUSH
EXPORTING
#1 = first_row.
CALL METHOD OF
rows
'SELECT' = select
NO
FLUSH.
CALL METHOD OF
rows
'COPY' = copy
NO
FLUSH.
CALL METHOD OF
sheet
'ROWS' = rows
NO
FLUSH
EXPORTING
#1 = row.
CALL METHOD OF
rows
'SELECT' = select
NO
FLUSH.
CALL METHOD OF
rows
'INSERT' = insert
NO
FLUSH.
ENDIF.
FREE OBJECT rows NO FLUSH.
ENDFORM.