Здравствуйте!
После объединения ячеек перестают отрабатывать остальные команды OLE, будь присвоение значения ячейки или сохранение.
Подозреваю, что ошибка в коде для объединения ячеек. Пожалуйста, подскажите, что не так и как лучше реализовать. (Интересует именно OLE)
Вот он:
Code:
CALL METHOD OF e_activesheet 'RANGE' = gh_range
EXPORTING #1 = 'C6'
#2 = 'D6' .
CALL METHOD OF gh_range 'SELECT'.
SET PROPERTY OF gh_range 'MERGE' = 1 . "объединяю ячейки
Вот вся обработка(сокращенная):
Code:
DATA: e_sheet TYPE ole2_object,
e_activesheet TYPE ole2_object,
e_newsheet TYPE ole2_object,
e_appl TYPE ole2_object,
e_work TYPE ole2_object,
e_cell TYPE ole2_object,
e_color TYPE ole2_object,
e_font TYPE ole2_object,
gh_range TYPE ole2_object,
gh_range2 TYPE ole2_object.
DATA e_borders TYPE ole2_object.
CREATE OBJECT e_appl 'EXCEL.APPLICATION' NO FLUSH.
SET PROPERTY OF e_appl 'VISIBLE' = 0 NO FLUSH.
CALL METHOD OF e_appl 'WORKBOOKS' = e_work NO FLUSH.
CALL METHOD OF e_work 'Add' = e_work NO FLUSH.
GET PROPERTY OF e_appl 'ActiveSheet' = e_activesheet NO FLUSH.
SET PROPERTY OF e_activesheet 'Name' = 'Табель' NO FLUSH.
str = 'Строка'.
PERFORM write_cell USING 1 1 str 6 15 0 0 0 0 8.
" заполняю ячейки
" .....
SET PROPERTY OF e_appl 'VISIBLE' = 1 NO FLUSH.
CALL METHOD OF e_activesheet 'RANGE' = gh_range
EXPORTING #1 = 'C6'
#2 = 'D6' .
CALL METHOD OF gh_range 'SELECT'.
SET PROPERTY OF gh_range 'MERGE' = 1 . "объединяю ячейки
CALL METHOD OF e_work 'SAVEAS' " "Эта команда перестает выполняться после объединения ячеек
EXPORTING
#1 = p_file.