проблема с HPageBreaks
От: Dmitriy-nsk  
Дата: 27.02.09 09:07
Оценка:
Написал в builder6 простейшую прогу которая передает в Excel текстовые данные. Мне понадобилось размещать разрывы страниц в нужных местах. Я в цикле нахожу автоматический разрыв и "подтягиваю" его к нужным ячейкам. В экселе макрос выглядет так:

//переход в режим разметки
ActiveWindow.View = xlPageBreakPreview
//перемещение 1-го разрыва на А40
Set ActiveSheet.HPageBreaks(1).Location = Range("A40")
//обратно в нормальный режим
ActiveWindow.View = xlNormalView

Я реализую как:
Excel.OlePropertyGet("ActiveWindow").OlePropertySet("View", xlPageBreakPreview);
Variant range = worksheets.OlePropertyGet("Range", WideString("A40"));
//переместить разрыв
worksheets.OlePropertyGet("HPageBreaks", 1).OlePropertySet("Location", range);
Excel.OlePropertyGet("ActiveWindow").OlePropertySet("View", xlNormalView);

В итоге на ошибки в проге excel не ругается, но перемещать разрыв тоже не желает. Но при этом для меня совсем уж что-то не объянимое — если
worksheets.OlePropertyGet("HPageBreaks", 1).OlePropertySet("Location", range);
заменить на:
worksheets.OlePropertyGet("HPageBreaks", 1).Exec(PropertySet("Location") << range);

то все ОК, все прекрасно делается. В чем дело? Ведь эти строки почти эквивалентны. И почему 1 вариант не работает?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.