|
|
|
Выгрузка из Forms в Excel (удаление разрыва страницы)
|
|||
|---|---|---|---|
|
#18+
Нужно программно перенести разрыв страницы. Сделала в Excel макрос. Там ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1 Пытаюсь вывести в Forms используя OLE2. Но не получается ничего((( Вот код. PROCEDURE Page_Breaks (sheet in OLE2.OBJ_TYPE) IS cell OLE2.OBJ_TYPE; args OLE2.LIST_TYPE; vlines OLE2.OBJ_TYPE; Drag OLE2.OBJ_TYPE; BEGIN args:=OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args,'A1'); cell:=OLE2.GET_OBJ_PROPERTY(sheet,'Range',args); OLE2.DESTROY_ARGLIST(args); -----вариант 1------- Drag:=OLE2.GET_OBJ_PROPERTY(cell,'VPageBreaks',args); OLE2.SET_PROPERTY(Drag,'xlToRight',1); OLE2.RELEASE_OBJ(Drag); ------ второй вариант (тоже не работает)------ Drag:=OLE2.GET_OBJ_PROPERTY(cell,'VPageBreaks',args); OLE2.SET_PROPERTY(Drag,'xlToRight',1); OLE2.SET_PROPERTY(Drag,'RegionIndex',1); OLE2.RELEASE_OBJ(Drag); vlines:=OLE2.GET_OBJ_PROPERTY(cell,'VPageBreaks',args); OLE2.SET_PROPERTY(vlines,'DragOff',Drag); OLE2.RELEASE_OBJ(vlines); END; Подскажите, как сделать, чтобы работало? совсем не понимаю((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 14:51 |
|
||
|
Выгрузка из Forms в Excel (удаление разрыва страницы)
|
|||
|---|---|---|---|
|
#18+
TIzolda, В редакторе макроса пользуйтесь F2 Object Browser много информации только оттуда можно получить Ваш код примерно так должен выглядить ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1 (sheet in OLE2.OBJ_TYPE) 1) надо получить VPageBreaks --ActiveSheet.VPageBreaks wPageBreaks := CLIENT_OLE2.GET_OBJ_PROPERTY(sheet,'VPageBreaks'); 2)Теперь из этого массива берём с индексом 1 --Index 1 args := CLIENT_OLE2.CREATE_ARGLIST; CLIENT_OLE2.ADD_ARG(args, 1); wPageBreak := CLIENT_OLE2.INVOKE_OBJ(wPageBreaks,'Item',args); CLIENT_OLE2.DESTROY_ARGLIST(args); 3) Вызываем метод DragOff --Sub DragOff(Direction As XlDirection, RegionIndex As Long) Member of Excel.VPageBreak args := CLIENT_OLE2.CREATE_ARGLIST; CLIENT_OLE2.ADD_ARG(args, -4161); --xlToRight Const xlToRight = -4161 (&HFFFFEFBF) CLIENT_OLE2.ADD_ARG(args, 1); --RegionIndex CLIENT_OLE2.INVOKE(wPageBreak,'DragOff',args); CLIENT_OLE2.DESTROY_ARGLIST(args); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 11:24 |
|
||
|
Выгрузка из Forms в Excel (удаление разрыва страницы)
|
|||
|---|---|---|---|
|
#18+
OldBoyOdeSu, и да, у вас OLE2.OBJ_TYPE т.е. все исправить на OLE2. вместо СLIENT_OLE2. кстати знает кто-нибудь отличие OLE2 от СLIENT_OLE2 ? просто у меня при использовании OLE2 даже офис не вызывался, сделал простую замену на СLIENT_OLE2 и всё заработало... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 11:36 |
|
||
|
Выгрузка из Forms в Excel (удаление разрыва страницы)
|
|||
|---|---|---|---|
|
#18+
OldBoyOdeSuкстати знает кто-нибудь отличие OLE2 от СLIENT_OLE2 ? OLE2 на сервере СLIENT_OLE2 соотв. на клиенте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 12:06 |
|
||
|
Выгрузка из Forms в Excel (удаление разрыва страницы)
|
|||
|---|---|---|---|
|
#18+
Не получается. вот на этом моменте просто вылетает wPageBreak := CLIENT_OLE2.INVOKE_OBJ(wPageBreaks,'Item',args); Не понимаю почему((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 13:00 |
|
||
|
Выгрузка из Forms в Excel (удаление разрыва страницы)
|
|||
|---|---|---|---|
|
#18+
TIzolda, wPageBreak OLE2.OBJ_TYPE; wPageBreak := OLE2.GET_OBJ_PROPERTY(sheet,'VPageBreaks'); CLIENT_OLE2 на OLE2 заменили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 13:06 |
|
||
|
|

start [/forum/search_topic.php?author=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80+%D0%9A%D0%BE%D1%87%D0%BA%D0%B8%D0%BD&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
8ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 491ms |
| total: | 775ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...