|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
Товарищи как мне подключить OLE2 для работы в 6 формсах? Хочу открыть существующий Excel (локальный) и выгрузить туда данные, после чего запустить макрос на обработку и отображение... Пользоваться хочу вот этим примером http://www.sql.ru/forum/108055/forms-6i-excel-kak-pisat-dannye-v-raznye-sheets?mid=820089#820089 Формс знаю слабо :-) поэтому прошу доходчиво подсказать куда и как жать чтобы подключить OLE2... Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 10:11 |
|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
Сорри, вопрос был дурацким. В итоге написал вот это: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
В результате формсы открывают Excel а вот новую книгу не создают а следовательно вывод не работает... В чем подвох? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 11:00 |
|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
Петров Андрей, вот эту строчку забыли скопировать из примера MyWorkbooksCollection:=OLE2.GET_OBJ_PROPERTY( MyApp, 'Workbooks' ); ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 15:06 |
|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
Ага :-) ступил. Все работает спасибо, но есть еще вопрос... Создал блок данных без видимых эжлементов чтобы по нему пройти в вывести данные в Excel. Но при обращении к нему вида: go_block('data'); execute_query; first_record; Получаю сообщение FRM-40106 В назначеном блоке не элементов допускающих навигацию. Как бы так пройти по теблице и вывести данные? :-) Может и блок данных не нужен а как то написать обычный цикл For R In (select ...) Loop? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 15:30 |
|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
Все сделал, а вот запуск макроса не пашет - делаю вот так: myTemp := OLE2.Invoke_Obj( MyBook,'Module1.FormatSheet' ); Как бы его вызвать то? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 16:03 |
|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
Как-это будет... RTFM.... Нет.... наверное STF /Search this forum/ ))) Forms 6 + excel, можно ли через ole2 скопировать лист? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 18:03 |
|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
Спасибо, запустился, но упал, зараза. Буду разбираться дальше... А как избавиться от Excel который остается висеть в процессах даже когда закрываешь его? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 09:20 |
|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
Ну и до кучи. Вызываю макрос отлаженый годами :-) и он падает вот на такой странной точке: Код: vbnet 1. 2.
Говорит не может установить формат, чего не так может кто сталкивался? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 10:01 |
|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
Петров Андрей, под рукой нет Excel, но помню, что у него есть метод Application.Quit или Applicarion.Exit - их надо обязательно вызывать при закрытии Excel. Они то и убирают Excel из памяти, а не ole2.realese_oobj (и предусмотреть вызов в блоке исключительных ситуаций). Иначе будет висеть у вас по несколько экземпляров незакрытых Excel. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 12:42 |
|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
Петров АндрейНу и до кучи. Вызываю макрос отлаженый годами :-) и он падает вот на такой странной точке: Код: vbnet 1. 2.
Говорит не может установить формат, чего не так может кто сталкивался? этот вопрос направьте в форум Ms Office . И не забудьте уточнить версию Windows, Office и т.д., что помогло бы людям не выступать в разговоре с вами в роли телепатов. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 12:45 |
|
Простой вопрос по OLE2
|
|||
---|---|---|---|
#18+
brig_2000Петров Андрей, под рукой нет Excel, но помню, что у него есть метод Application.Quit или Applicarion.Exit - их надо обязательно вызывать при закрытии Excel. Они то и убирают Excel из памяти, а не ole2.realese_oobj (и предусмотреть вызов в блоке исключительных ситуаций). Иначе будет висеть у вас по несколько экземпляров незакрытых Excel. Все намного хуже. Если в программе на Forms для любого объекта забыли вызвать ole2.release_obj (счетчик ссылок на какой нибудь объект не обнулится), то Excel исчезнет с экрана, но будет оставаться в памяти. Выход только один - аккуратно кодить ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 20:15 |
|
|
start [/forum/topic.php?fid=51&msg=38394325&tid=1878280]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
123ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 231ms |
total: | 440ms |
0 / 0 |