|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Из Forms6i с помощью ole надо в Excel поменять границы у ячеек, у конкрентной ячейки, у группы. Как это сделать Пытался сделать так, но нифига не выходит args:=ole2.CREATE_ARGLIST; ole2.ADD_ARG(Args, 'C5:K8'); cell:=ole2.get_OBJ_property(worksheet, 'range', Args); ole2.DESTROY_ARGLIST(Args); ole2.Invoke(cell,'select'); ole2.set_property(cell, 'Selection.Borders(xlDiagonalDown).LineStyle', 'xlContinuous'); Объясните пожалуйста назначение строки cell:=ole2.get_OBJ_property(worksheet, 'range', Args); В ней разных случаях используются разные параметры например cell:= ole2.GET_OBJ_PROPERTY(Application, 'Cells', args); Буду очень признателен на ссылки с какой нить литературой, а также на различные примеры. В частности мне надо будет вставлять гиперссылку, менять цвет у части текста в ячейке и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2007, 16:01 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
я бы сделала процедуру, которая выполняет экселевский макрос, а уже все это в макросе ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2007, 16:11 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Это как? Хочу через Ole, но такой вариант на будующее хотелось бы знать ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2007, 16:15 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
пожалуйста, наслаждайтесь: http://www.orafaq.com/forum/t/46164/0/ а вообще ссылок есть в инете ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2007, 16:26 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Давайте мейл, пришлю библиотеку для вывода в Excel через OLE. Там это есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2007, 16:39 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
andrey046 собака mail точка ru ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2007, 16:42 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Выслал ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2007, 16:51 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Получил, спасибо. С OLE придеться наверно до понедельника подождать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2007, 16:58 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
up ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2007, 11:18 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Как мне кажется ошибка в этом месте: cell:=ole2.get_OBJ_property(worksheet, 'range', Args); нужно использовать другие параметры ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2007, 13:47 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Вот дежурные примеры, только вы с переменными типа exl.cell.obj сами разберитесь - это уже юзается тогда когда ЯЧЕЙКА екселя уже ВЫБРАНА (метод select был применен). Заметьте что появляются "спец_фразы" типа obj1 := ole2.get_obj_property(exl.cell.obj, 'Font'); . Это значит что если мы хотим изменить некие свойства ячейки мы тоолжны снача сделать ole2.get_obj_property для той ячейки (объекта) которая "хранится в переменной exl.cell.obj) Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2007, 19:28 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Каким типом надо объявить EXL? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2007, 14:50 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Не понял комментарий к данному блоку, где тут искать excell_cell ? IF Exl.FONT_WEIGHT is NOT NULL THEN obj1 := ole2.get_obj_property(exl.cell.obj, 'Font'); -- (excell_cell - текущая ячейка) ole2.set_property(obj1, 'Size', Exl.FONT_WEIGHT); ole2.release_obj (obj1); END IF; ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2007, 15:01 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Ваш код: IF Exl.VAL_HIGH is NOT NULL THEN --- обратите внимание - алгоритм!! args := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args, r_row); --- r_row = номер произвольной строки екселя obj1 := ole2.get_obj_property(worksheet.obj, 'Rows',args); -- (excell_cell - текущая ячейка) OLE2.DESTROY_ARGLIST(args); ole2.set_property(obj1, 'RowHeight', Exl.VAL_HIGH ); ole2.release_obj (obj1); end if; Преобразовал к такому: args := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG(args, 5); --- r_row = íîìåð ïðîèçâîëüíîé ñòðîêè åêñåëÿ obj1 := ole2.get_obj_property(worksheet, 'Rows',args); -- (excell_cell - òåêóùàÿ ÿ÷åéêà) OLE2.DESTROY_ARGLIST(args); ole2.set_property(obj1, 'RowHeight', 200 ); ole2.release_obj (obj1); Т. е. у меня не worksheet.obj, а просто worksheet. Что такое worksheet.obj и как оно объявляется? Фрагменты кода где используется exl.cell.obj тоже не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2007, 15:23 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Я торопился и не мог перевести... мои "exl.cell.obj" - это прикладные переменные (пользователльского типа), объявленные в прикладном пакадже с именем EXL и они имеют тип ole2.obj_type. Вам конечно можно юзать вашу worksheet которая объявлена в начале процедуры. Я вам показал общие примеры - как форматировать ексел, какие конструкции (магические слова) при этом прописывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2007, 09:02 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Проделал различные комбинации, все тут приводить не буду, не смог ни закрасить ячейку ни рамку наложить и т.д., Excel даже не открывался. Получилось только высоту строки менять. Не могли бы Вы привести более подробный пример хотя для одного действия с ячейкой. Чтобы все в одной процедуре было. Буду очень признателен. Так же не понял что значит "это уже юзается тогда когда ЯЧЕЙКА екселя уже ВЫБРАНА" PROCEDURE TO_EXCEL2 IS application ole2.obj_type; workbooks ole2.obj_type; workbook ole2.obj_type; worksheets ole2.obj_type; worksheet ole2.obj_type; cell ole2.obj_type; obj1 ole2.obj_type; cell1 ole2.obj_type; args ole2.list_type; BEGIN --Êóñîê èíèöèàëèçàöèè application:= ole2.create_obj('Excel.Application'); workbooks:= ole2.get_obj_property(application, 'Workbooks'); args:= ole2.create_arglist; DEFAULT_VALUE('NO SET','GLOBAL.DIR'); IF :GLOBAL.DIR='NO SET' THEN :GLOBAL.DIR:=Utility.Current_Dir(); END IF; --ole2.add_arg(args,:GLOBAL.DIR||'ÆÓÐÍÀË_ÂÕÎÄßÙÈÕ.XLS'); ole2.add_arg(args,'C:\ORAPROG\Êèä\ÆÓÐÍÀË_ÂÕÎÄßÙÈÕ.XLS'); workbook:=OLE2.Invoke_Obj( workbooks,'Open', args); ole2.destroy_arglist(args); worksheets:=ole2.get_obj_property(workbook, 'Worksheets'); args := OLE2.CREATE_ARGLIST; OLE2.ADD_ARG( args, 1 ); worksheet:=OLE2.GET_OBJ_PROPERTY( workbook, 'Worksheets',args); ole2.destroy_arglist(args); --ÂÑÒÀÂÊÀ ÒÅÊÑÒÀ  ß×ÅÉÊÓ args:= ole2.create_arglist; ole2.add_arg(args, 4); ole2.add_arg(args, 2); cell:= ole2.GET_OBJ_PROPERTY(Application, 'Cells', args); ole2.Invoke(cell,'select'); ole2.destroy_arglist(args); ole2.set_property(cell, 'Value','ASDASDASDASDASDASDASD'); --Óñòàíîâèòü öâåò ÿ÷åéêè------------------------ /*ÁÛËÎ: if EXL.BACKGROUND is not null then obj1 :=OLE2.get_OBJ_property(exl.cell.obj, 'Interior'); OLE2.set_property(obj1, 'ColorIndex', EXL.BACKGROUND); OLE2.RELEASE_OBJ(obj1); end if; */ --ÑÄÅËÀË args:= ole2.create_arglist; ole2.add_arg(args, 4); ole2.add_arg(args, 2); obj1 :=OLE2.get_OBJ_property(Application, 'Interior',ARGS); ole2.destroy_arglist(args); OLE2.set_property(obj1, 'ColorIndex', 10); OLE2.RELEASE_OBJ(obj1); ole2.set_property(application, 'Visible', True); --ole2.release_obj(cell); ole2.release_obj(worksheet); ole2.release_obj(worksheets); ole2.release_obj(workbook); ole2.release_obj(workbooks); ole2.release_obj(application); EXCEPTION WHEN Others THEN --ole2.release_obj(cell); ole2.release_obj(worksheet); ole2.release_obj(worksheets); ole2.release_obj(workbook); ole2.release_obj(workbooks); ole2.release_obj(application); raise; END; ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2007, 15:57 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
вот рабочий пример из инета, а во вложенном файле - я даю образец формы. Это что то "нечто"...пофиксенное, но работает. Общая тема - вывели в ексел, запустили запись макроса, кликаем разные форматы, потом возвращемся в листинг и ставим опции. Я это все вообще то из БД зачитывал, и форматировал когда то. Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2007, 20:18 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
В формзах, которые работают через аппссервер и на клиенте апплет (jinitiator), оле нету. Хотя, если есть гарантия сидеть на Forms 6i долго, то сойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2007, 23:43 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
MainframeВ формзах, которые работают через аппссервер и на клиенте апплет (jinitiator), оле нету. Хотя, если есть гарантия сидеть на Forms 6i долго, то сойдет. вот ужос-то, а у меня работает как-то наверное webutil неправильный :(( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2007, 10:04 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Да и на application сервере, если он Windows, OLE2 работает :=) Тругое дело да - не кроссплатформенное. А кто обещал другое :=) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2007, 10:53 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Большое спасибо. С ячейкой вроде освоился. Назрел следующий вопрос. Если в книге заранее был включен вид разметка страниц, то данные вставляются очень долго (за секунду где то ячейки 3). Хотелось бы после заполнения данными листа включить этот вид программно. Сделал макрос в Екселе он выдал следующее: ActiveWindow.View = xlPageBreakPreview В дебагере посмотрел что xlPageBreakPreview равно 2. Но вот какой код для этого нужен не понял, метод тыка результата не дал. Пробовал примерно такое: List_:= ole2.GET_OBJ_PROPERTY(Application, 'Workbook'); vid := OLE2.get_OBJ_property(List, 'ActiveWindow'); OLE2.set_property(vid, 'View', 2); OLE2.RELEASE_OBJ(List_); OLE2.RELEASE_OBJ(vid); Не могу найти информацию какие могут быть парамерты в GET_OBJ_PROPERTY ('Workbook','Workbooks' и прочее). Также не ясна ситуация с OLE2.Invoke_Obj ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2007, 11:29 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
не очень понял, но может быть это? Код: plaintext 1. 2.
за одно покажу как читать из екселя (если мою форму открывали, то к ней подходит) :-)) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Здесь юзаются все имена объектов екселя. Или иного OLE приложения. Например ворда или аутлука ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2007, 20:52 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Вот такой вид я хочу включит из формса после того как заполню лист данными Модератор: Тема перенесена из форума "Oracle". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 10:01 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 22:07 |
|
Ole в Forms6i (Из формс в ексель)
|
|||
---|---|---|---|
#18+
Ребята, не у кого нет ссылки или дистрибутива Oracle Forms 6i. Хочу изучить, нашел доки, а дистрибутива в инете нет. mihnih78@inbox.ru Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2017, 13:28 |
|
|
start [/forum/topic.php?fid=51&msg=34677161&tid=1877972]: |
0ms |
get settings: |
4ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
36ms |
get topic data: |
2ms |
get forum data: |
1ms |
get page messages: |
452ms |
get tp. blocked users: |
0ms |
others: | 22ms |
total: | 525ms |
0 / 0 |