Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Запуск макроса с надстройки Excel


Автор: UhaMurad 23.9.2005, 22:04
Здравствуйте!

Вот такой код:


Код

  s := 'B1:K10';

  fn := ExtractFilePath(Application.ExeName);

  Ex.Run(fn + 'ATPVBAEN.XLA!Mcorrel', Ex.Range[s], 'Корреляция', 'К', True);


т.е. хочу запустить макрос "корреляция" из надстройки "Анализ данных". Последнюю строчку стащил с макроса, который записал в Excel. Программа ругается, что макрос не найден!

Спасибо!

Автор: Albinos_x 23.9.2005, 23:22
тут надо бы поподробнее, т.к. из твоего кода ничего непонятно

Автор: UhaMurad 27.9.2005, 08:45
Стоит такая задача - запустить макрос "Корреляция" из надстройки "Пакет анализа".

Объясняю как это сделать вручную в Экселе. Пункт меню Сервис - Надстройки... Выбираем в списке надстроек "Пакет анализа" и ставим галочку напротив него. В результате чего в подменю Сервис появляется новый пункт "Анализ данных...". Выбираем его и появляется список инструментов анализа, где и выбираем пункт "Корреляция". Появляется диалоговое окно в роде мастера функций, где необходимо установить параметры этой функции...

Если записать все эти действия как макрос, то вот что мы получим:

Код

Sub Ìàêðîñ1()
'
' Ìàêðîñ1 Ìàêðîñ
' Ìàêðîñ çàïèñàí 27.09.2005 (UHA_MURAD)
'

'
    Range("C6:E11").Select
     Application.Run "ATPVBAEN.XLA!Mcorrel", ActiveSheet.Range("$C$6:$E$11"), "" _
        , "Ê", False
End Sub


Весь вопрос таков: как это реализовать в коде Delphi корректно?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)