Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запуск макроса Access из C# / 5 сообщений из 5, страница 1 из 1
15.08.2015, 17:12
    #39030043
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск макроса Access из C#
Подскажите, имеется база в которой есть 2 модуля:
Module1
Module2
В обоих модулях имеется макрос с одинаковым названием: main
В C# я связываюсь с базой следующим образом:
Код: c#
1.
2.
Application app = new Application { Visible = false };
app.OpenCurrentDatabase(pathToDB);


Потом я пытаюсь запустить Макрос через эту команду:
Код: c#
1.
 app.Run("main");


После чего получаю ошибку, что в базе нет такой процедуры...
Если я в одном из модулей переименую main в main1(Т.е избавлюсь от одинаковых имен макросов), то все срабатывает.
Подскажите, можно избавиться от этой проблемы не прибегая к переименовыванию макросов?
Я пробовал писать:
app.Run("Module1.main"); , но осталась такая же ошибка...
...
Рейтинг: 0 / 0
15.08.2015, 18:07
    #39030056
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск макроса Access из C#
iluxa1810app.Run("Module1.main"); , но осталась такая же ошибка...
А что в Справке написано?
...
Рейтинг: 0 / 0
15.08.2015, 20:31
    #39030102
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск макроса Access из C#
Cat2, справку по C# я не нашел.
Но в том же VBA можно было перед Макросом через точку написать к какому модулю он относится...
...
Рейтинг: 0 / 0
15.08.2015, 20:45
    #39030105
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск макроса Access из C#
...
Рейтинг: 0 / 0
15.08.2015, 23:05
    #39030147
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск макроса Access из C#
buser,
Там https://support.microsoft.com/ru-ru/kb/177760 я нашел вот это:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
     Sub XLTest()
      Dim XL as Object

      Set XL = CreateObject("Excel.Application")

      XL.Workbooks.Open "C:\My Documents\ExcelFile.xls"

      ' If there is more than one macro called TestMacro,
      ' the module name would be required as in
      '
      ' XL.Run "Module1.TestMacro"
      '
      ' to differentiate which routine is being called.
      '
      XL.Run "TestMacro"

   End Sub
	


Я так же пытался вызвать свой макрос XL.Run "Module1.TestMacro", но у меня не получается. Ругается, что такого макроса нет.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запуск макроса Access из C# / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]