Я прошу прощения, если задаю повторяющийся вопрос, но я не нашел ничего подходящего для моей ситуации.
Я использую Macro Express Pro, поскольку это то, что моя компания использует для создавать макросы для улучшения производства. Мы использовали VBS для улучшения скорости и точности, но это ограничено. Я провел некоторое исследование и обнаружил, что PowerShell может быть тем обновлением, которое мне нужно. Моя проблема в том, что я хочу запустить командлет PowerShell без окна cmd.
Вот код VBS, который я нашел для Macro Express Pro, чтобы не появлялось окно cmd:
MyCommand = "PowerShell.exe -nologo -command C:\Users\lpeder6\Desktop\FirstScript.ps1"
Set WShell = CreateObject("WScript.Shell")
WShell.Run MyCommand,0
Set WShell = Nothing
Это прекрасно работает, когда я пытаюсь создать новый файл в указанном c месте:
New-Item -Path 'C:\Users\lpeder6\Documents\Macro Express\PowerShell Test File.txt'
Но, при попытке использовать WShell.Run
для вызова того же файла, но иметь строку выше закомментировал и добавил новый код для создания окна GUI, ничего не происходит:
# New-Item -Path 'C:\Users\lpeder6\Documents\Macro Express\PowerShell Test File.txt'
Add-Type -assembly System.Windows.Forms
$main_form = New-Object System.Windows.Forms.Form
$main_form.Text ='My first GUI PowerShell script'
$main_form.Width = 600
$main_form.Height = 400
$main_form.AutoSize = $true
$main_form.ShowDialog()
Однако я запускаю приведенный выше код в Windows PowerShell ISE вместо Macro Express Pro, он работает прекрасно. Как мне заставить его работать в Macro Express Pro?