OpenProcess ничего не делает - PullRequest
0 голосов
/ 11 июля 2019

У меня есть файл .vbs, который является скриптом для программы моделирования (ANSYS Maxwell). Я хочу открыть его через cmd с помощью макроса Excel. Для этого я использую OpenProcess, но код не открывает файл.

Это .vbs - скрипт, который запускает автоматическое моделирование в программе симуляции. Когда я открываю его вручную через cmd (cd "My directory file.vbs), он работает нормально, поэтому я хочу сделать это автоматически с макросами Excel.

{Private Declare PtrSafe Function OpenProcess Lib "kernel32" _
    (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
    ByVal dwProcessId As Long) As Long

Private Declare PtrSafe Function GetExitCodeProcess Lib "kernel32" _
    (ByVal hProcess As Long, lpExitCode As Long) As Long

Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Const STILL_ACTIVE = &H103
Const PROCESS_QUERY_INFORMATION = &H400

hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, Shell("cmd.exe /C " & ThisWorkbook.Path & "\MacroPolosSalientes.vbs"))

Do

'Get the status of the process

GetExitCodeProcess hProcess, RetVal

'Sleep command recommended as well

DoEvents

'Loop while the process is active

Loop While RetVal = STILL_ACTIVE}

Я ожидаю, что файл откроется, и во время симуляции RetVal будет & H103 и цикл будет запущен.

Когда я его запускаю, ошибки не появляется, но и файл не открывается.

Есть идеи, почему это может быть?

...