• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

.net запуск макроса

Автор petrovich, 13.10.15, 03:14:28

« назад - далее »

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

petrovich

Доброго времени суток форумчане!
Пытаюсь средствами .net запустить макрос через компас-макро, искал в папке sdk - не нашел.

Imports Kompas6API5
Imports Kompas6Constants
Imports System.Runtime.InteropServices

Public Kompas As Object
Kompas = CreateObject("KOMPAS.Application.5")
Kompas.Visible = True

Dim boolstatus As Boolean
boolstatus = kompas.RunMacro(My.Computer.FileSystem.SpecialDirectories.Temp & "\rama.cdm")

не чего не получается. Подскажите.
Заранее спасибо!

petrovich

или на любом другом языке

Slaviation

А что это за метод - kompas.RunMacro?

petrovich

Цитата: Slaviation от 14.10.15, 07:41:12
А что это за метод - kompas.RunMacro?
это пошли танцы с бубном  :) где можно прочесть какие есть методы для работы с библиотеками в частности с компас-макро?
решил свой вопрос так но...

Imports Kompas6API5
Imports Kompas6Constants
Imports System.Runtime.InteropServices
Imports System.Diagnostics

Public Kompas As Object
Kompas = CreateObject("KOMPAS.Application.5")
Kompas.Visible = True

Dim myProcess As Process = New Process()
myProcess.StartInfo.FileName = "C:\Python23\Lib\site-packages\pythonwin\Pythonwin.exe"
myProcess.StartInfo.Arguments = (My.Computer.FileSystem.SpecialDirectories.Temp & "\rama.cdm")
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
myProcess.StartInfo.CreateNoWindow = True
myProcess.Start()
returnValue = myProcess.WaitForInputIdle()
                            If returnValue = True Then
                                 SendKeys.SendWait("F5")
                            End If
myProcess.kill()

Slaviation

В системе должен быть такой MSScriptControl. Он поддерживает Python.
Создаете его экземпляр, определяете язык (свойство Language = "python"), загружаете в него код своего скрипта (метод AddCode) и запускаете.
Вот к примеру такая ссылка
http://stackoverflow.com/questions/19195619/how-can-i-run-python-commenads-from-within-excel-vba

feron

Цитата: Slaviation от 02.12.15, 14:53:34В системе должен быть такой MSScriptControl. Он поддерживает Python.
Создаете его экземпляр, определяете язык (свойство Language = "python"), загружаете в него код своего скрипта (метод AddCode) и запускаете.
Вот к примеру такая ссылка
http://stackoverflow.com/questions/19195619/how-can-i-run-python-commenads-from-within-excel-vba

это не работает и нет поддержки языка Python не какой в MSScriptControl..