|
|
|
OLE, или что-то другое?
|
|||
|---|---|---|---|
|
#18+
sboyko волшебное слово - Worksheets()! Пож! sboykoне подскажете - а как узнавать, какие слова из VBA надо ставить после OBJECT в ОЛЕ контрол? Ну вот например Application, Worksheets, Workbooks... Обычно из них есть доступ практически ко всем возможностям. sboyko oleobject -по терминологии совпадает с VBA. То есть можно просто из макро брать, а как быть в оле контрол? куда надо смотреть? мне например нужно как минимум строки уметь вставлять. Все делается легко и просто ;) Записываешь макрос с теми действиями, которые хочешь сделать - и потом обычно достаточно легко их перенести в ПБ. НО!!! Должен заметить, что на моем опыте доступ из ПБ к свойствам документа Экселя довольно геморройное занятие. По-этому я сделал так: создал ОЛЕ объект в билдере Екселеский. Открыл его, подготовил всячески, понаписывал в нем макросов, и сохранил. Теперь - открываю всегда один и тот же ОЛЕ объект с внедренным шаблоном и пользуюсь набором макросов. Мне подошло :) Можно так же написать набор шаблонов с макросами и отрывать по мере надобности. По-моему - так удобнее :) но - это кому как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 17:06 |
|
||
|
OLE, или что-то другое?
|
|||
|---|---|---|---|
|
#18+
К сожалению в ОЛЕ контрол не проходят ни application, ни workbook - ругается буквально на все. Типа "неправильное проперти application workbooks " времени исполнения - почему собственно и был задан вопрос. А вот worksheets - почему то прошел. То есть существует какая то волшебная последовательность ключевых слов, кот не совпадает с VBA, но работает. Кстати если ОЛЕ контрол просвоить OLEOBJECT=ОЛЕ контрол, то работающий до этого OLEOBJECT в системе VBA становится таким же убогим как олеконтрол. Но с другой стороны - ведь экселевский файл можно полностью отформатировать, написать там нужные программки, сохранить как template и использовать, занося только нужные значения и ничего лишнего. Единственно что нужно еще - вставка строки так как в этом случае сохр форматирование. Вот как теперь вызвать INSERT? станислав ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2005, 12:02 |
|
||
|
OLE, или что-то другое?
|
|||
|---|---|---|---|
|
#18+
sboykoК сожалению в ОЛЕ контрол не проходят ни application, ни workbook - ругается буквально на все. Типа "неправильное проперти application workbooks " ... Вот как теперь вызвать INSERT? станислав ну ведь ole_excel.object.Application.Run("BeforeRetrieve") проходит?? BeforeRetrieve - имя макроса. Может быть, не проходит именно application.workbooks?? КСТАТИ!!!!!!!! Контрольный вопрос. Вы активируете Эксель инсайд или оффсайд?? Я заметил, что в ПБ при активации инсайд все просто НЕРЕАЛЬНО глючит. В свое время в связи с этим пришлось отказаться от внутренней активации приложения и перейти на внешню... Что не очень удобно. Но зато глюков на порядок меньше. Как это не парадоксально :) По поводу ИНСЕРТ, попробуйте так: ole_excel.Object.Worksheets("DataList").Range("E9").Select ole_excel.Object.Selection.EntireRow.Insert Не пробовал, но что-то вроде этого. Вообще - надо экспериментировать, в плане того, чтобы вызвать это дело для одной сущности разными путями, пока не получится :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 11:05 |
|
||
|
OLE, или что-то другое?
|
|||
|---|---|---|---|
|
#18+
Дело в том, что оле-сервер запускается через раз Сразу говорю (для тех кому смешно) если открыть exel, а потом перейти в программу и выполнить тот же самый скрипт все пройдет как по маслу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 12:13 |
|
||
|
OLE, или что-то другое?
|
|||
|---|---|---|---|
|
#18+
spas2001Дело в том, что оле-сервер запускается через раз Хм-м-м-м... Странно - у меня таких проблем нет вообще. Я использую оффсайд-активацию. Она глючит НАМНОГО меньше. spas2001 Сразу говорю (для тех кому смешно) если открыть exel, а потом перейти в программу и выполнить тот же самый скрипт все пройдет как по маслу Вот тут тоже согласен - нужны просто Дикі танці з бубном (с) Руслана Нужно тонко настраивать этот дурацкий скрипт... Нервов можно потерять море ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 13:21 |
|
||
|
OLE, или что-то другое?
|
|||
|---|---|---|---|
|
#18+
А в каком состоянии нужно оставлять эксель приложение? сохранить файл SAVEAS, закрыть ОЛЕ control и отдать пользователю инициативу в его руки для печати? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2005, 15:19 |
|
||
|
OLE, или что-то другое?
|
|||
|---|---|---|---|
|
#18+
sboykoА в каком состоянии нужно оставлять эксель приложение? сохранить файл SAVEAS, закрыть ОЛЕ control и отдать пользователю инициативу в его руки для печати? А это по желанию уже. Я обычно после экспорта данных в Эксель просто ставлю ему Visible=1 и отсоединяюсь. Пользователь захочет - сам сохранит, захочет - сам распечатает. Пока никто не жаловался :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2005, 18:27 |
|
||
|
OLE, или что-то другое?
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenko[quot spas2001]Дело в том, что оле-сервер запускается через раз Хм-м-м-м... Странно - у меня таких проблем нет вообще. Я использую оффсайд-активацию. Она глючит НАМНОГО меньше. Что значит оффсайд, я вроде тоже... Если мы только говорим об одном и тоже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 14:21 |
|
||
|
|

start [/forum/topic.php?fid=15&startmsg=33286555&tid=1338113]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 437ms |

| 0 / 0 |
