AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.05.2011, 15:10   #1  
arty is offline
arty
Участник
 
3 / 10 (1) +
Регистрация: 21.04.2006
не работает запуск макроса в Excel
Коллеги, возникла следующая проблема:
в DAX 2009 пытаюсь через .NET interop вызвать существующий в книге Excel макрос, но безуспешно.
Код следующий:
X++:
Microsoft.Office.Interop.Excel._Application   app;
Microsoft.Office.Interop.Excel.Workbooks    wbs;
Microsoft.Office.Interop.Excel._Workbook    wb;
 
CLRObject ex;
 
Microsoft.Office.Core.MsoAutomationSecurity mas =
CLRInterop::parseClrEnum("Microsoft.Office.Core.MsoAutomationSecurity", "msoAutomationSecurityLow");
;
try
{
    app = new Microsoft.Office.Interop.Excel.ApplicationClass();
    app.set_Visible(false);
    app.set_DisplayAlerts(false);
    app.set_AutomationSecurity(mas); //на всякий случай
 
    wbs = app.get_Workbooks();
    wb  = wbs.Add(#templateName);
 
    app.Run("testMacro", null, null, null, null, null, null, null, null, null, null, 
            null, null, null, null, null, null, null, null, null, null, 
            null, null, null, null, null, null, null, null, null, null);
 
    app.set_Visible(true);
}
catch
{
    ex = CLRinterop::getLastException();
    if (ex)
    {
        info(ex.ToString());
    }
}
При выполнении возникает исключение:
Цитата:
System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.Runtime.InteropServices.COMException (0x800A03EC): Не удается выполнить макрос "testMacro". Возможно, этот макрос отсутствует в текущей книге либо все макросы отключены.
в Microsoft.Office.Interop.Excel.ApplicationClass.Run(Object Macro, Object Arg1, Object Arg2, Object Arg3, Object Arg4, Object Arg5, Object Arg6, Object Arg7, Object Arg8, Object Arg9, Object Arg10, Object Arg11, Object Arg12, Object Arg13, Object Arg14, Object Arg15, Object Arg16, Object Arg17, Object Arg18, Object Arg19, Object Arg20, Object Arg21, Object Arg22, Object Arg23, Object Arg24, Object Arg25, Object Arg26, Object Arg27, Object Arg28, Object Arg29, Object Arg30)
--- Конец трассировки внутреннего стека исключений ---
в System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
в System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
в System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
в System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
в ClrBridgeImpl.InvokeClrInstanceMethod(ClrBridgeImpl* , ObjectWrapper* objectWrapper, Char* pszMethodName, Int32 argsLength, ObjectWrapper** arguments, Boolean* argsAreByRef, Boolean* isException)
Может кто сталкивался или есть идеи? Через COM примерно то же самое работало
Старый 11.05.2011, 15:20   #2  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,486 / 408 (16) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
А какая настройка безопасности в Excel? Не отключает ли он из-за этого макросы сам?
__________________
С уважением,
Вячеслав
Старый 11.05.2011, 15:24   #3  
arty is offline
arty
Участник
 
3 / 10 (1) +
Регистрация: 21.04.2006
именно для этого строчка
X++:
app.set_AutomationSecurity(mas); [COLOR=green]//на всякий случай[/COLOR]
- устанавливаю минимальный уровень секъюрности
но по идее оно и так работать должно
Теги
.net, excel, interop, интеграция

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
Иморт из Excel 2010. Как правильно закрыть Excel? jkspb DAX: Программирование 4 13.10.2013 00:55
Создание файла-xlsx (Excel 2007) из файла - xltx (шаблон Excel 2007) не работает 111andrei DAX: Программирование 2 11.11.2010 17:57
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
не работает запуск отладчика для webform wb DAX: Программирование 1 08.09.2004 12:28
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:48.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.