Страницы: 1
RSS
как в эекселе запустить макрос кореловский
 
как в эекселе запустить макрос кореловский?  
есть кореловский файл в нем макрос нужный для запуска  
есть екселовский файл в нем тоже другой макрос в тексте которого нужна строчка запускющая кореловский макрос  
ну вот не получается просто его запустить... :(  
 
Dim cDraw As Object    'CorelDRAW.Application  
Dim curDoc As Object  
 
Set cDraw = CreateObject("CorelDRAW.Application.12")  
cDraw.Visible = True  
 
Set curDoc = cDraw.OpenDocument("D:\с12.cdr")  
 
curDoc.ActivePage.Layers("111").Editable = True  
...  
...  
curDoc.ПокраситьКартинуЗеленым   'ВОТ НЕ РАБОТАЕТ  
 
curDoc.Close  ' сейчас нужный макрос запускаеися на событии закрытие, а надо до закрытия!  
cDraw.Quit  
 
поможите люди добрые  
thisdocument.ПокраситьКартинуЗеленым  работает в кореле  
а curDoc.ПокраситьКартинуЗеленым   не работает в екселе... :(
 
ну а какие-то методы у этого "закрасить.." есть? например execut или Run  ?  
 
вообще - примените раннее связывание:  
 
в иксель зайдите в vbe, там в tools-references - установите ссылку на объектную модель corel..  
 
теперь в коде:  
 
Dim cDraw As 'CorelDRAW.Application  
 
 
в общем объявите все явно, тогда поставив точку после вашего "закрасить..", получите список его методов  (конечно, все это можно посмотреть и в обжект иксплорере)
 
а можно по подробнее  - для чайников...  
 
>в иксель зайдите в vbe, там в tools-references - установите ссылку на объектную модель corel  
поставили галку - стало замечательнее, но не заработало  
 
>ну а какие-то методы у этого "закрасить.." есть? например execut или Run ?  
ss = cDraw.InitializeVBA  
s = cDraw.GMSManager.RunMacro("GlobalMacros", "Module1.ПокраситьСерым")    
чета не заработало: пишет "метод не найден" видимо не то?  
 
Sub ПокраситьСерым - это не объект, это простенький макрос лежит в модуле "модуль1" вба проэкта файла "ф1" (с картинкой)  
уже перезапихали в проэкт GlobalMacros в модуль "Module1"  
пробовали запихать в кучу с процедурками типа "при закрытии", "при сохранении" от thisdocument  
 
/я просто не очень понимаю, что к чему там примотано, по объектно
 
и вопрос вообще в том, как запускать любые готовые sub-процедуры (макросы находящиеся в модулях проекта) из кореловских готовых и открытых (из екселя) файлов    
 
это не методы от объектов
Страницы: 1
Читают тему
Наверх