Передать в макрос параметры

Автор Тема: Передать в макрос параметры  (Прочитано 3273 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AndONEАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 50
  • Карма: 0
Добрый день! Пишу программу в 1С и решил глючные моменты обходить с помощью запуска макросов, написанных на VBA. Это работает, но вопрос в том, есть ли возможность передавать в макрос какие-либо параметры (например длину или координаты)?
Код - Visual Basic [Выбрать]
  1. Sub Example_RunMacro()
  2.     ' Этот пример загружает DVB файл и выполняет макрокоманду,
  3.    ' содержавшуюся в файле, используя RunMacro метод.
  4.    '
  5.    ' Этот пример использует DVB файл drawline.dvb.
  6.    ' Вы должны изменить пример, чтобы использовать файл на вашем компьютере.
  7.    '
  8.    ' * Примечание: Если Вы открываете DVB файл и затем выполняете пример,
  9.    ' чтобы загрузить его, будет ошибка, при попытке выгрузить файл.
  10.  
  11.     Dim FileName As String
  12.    
  13.     FileName = "c:\drawline.dvb"
  14.    
  15.     ' Загрузить VBA DVB файл
  16.    LoadDVB FileName
  17.    
  18.     ' Выполнить drawline макроc
  19.    RunMacro "Module1.Drawline"
  20.    
  21.     ' Выгрузитесь drawline VBA DVB файл после выполнения
  22.    UnloadDVB FileName
  23.    
  24.     MsgBox "DVB файл был выполнен! "
  25.  
  26. End Sub
  27.  

Исходя из стандартного примера создается впечатление, что нельзя(
« Последнее редактирование: 28-11-2017, 18:07:19 от AndONE »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Передать в макрос параметры
« Ответ #1 : 28-11-2017, 16:36:36 »
1. Прочитай у меня в подписи о правилах форматирования кода у нас на форуме и в дальнейшем соблюдай их.
2. Параметры в таком виде передавать действительно нельзя, но что мешает передавать их через глобальные переменные?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AndONEАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 50
  • Карма: 0
Re: Передать в макрос параметры
« Ответ #2 : 28-11-2017, 18:08:33 »
1.Прочитал, видео посмотрел.
2. Можете привести какой-нибудь простенький пример? Как мои глобальные переменные в 1С могут попасть в исполняемый макрос .dvb?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Передать в макрос параметры
« Ответ #3 : 28-11-2017, 18:11:37 »
Я видимо чего-то не понял. Вы из 1C управляете AutoCAD'ом через COM-модель? Зачем вам вообще DVB-файлы если вы можете управлять напрямую?!
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AndONEАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 50
  • Карма: 0
Re: Передать в макрос параметры
« Ответ #4 : 28-11-2017, 20:48:52 »
Все правильно поняли. Потому что некоторые команды из под 1С не работают. Например команда "область". Чтобы ее сделать необходимо собрать массив из замкнутых кривых. Так вот при его передаче при COM соединении вылезает ошибка, что не верный массив данных. Только из-за этого.
Сейчас я танцую с бубном. Прикидываю координаты замкнутой области и выделяю их через SENDCOMMAND, но работает хоть и сносно, но не практично.
Если скину Вам код ошибки из 1С чем-нибудь сможете помочь?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Передать в макрос параметры
« Ответ #5 : 28-11-2017, 21:01:07 »
Если скину Вам код ошибки из 1С чем-нибудь сможете помочь?
Нет. Для 1C и на VBA я не пишу.
Но я вижу, что из VBA для Excel проблемы создания области (Region) нет. Так что если 1C поддерживает VBA, то теоретически тоже должно работать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63