Мне нужно запустить скрипт powershell с параметром из макроса слова. Пока даже попытки просто запустить скрипт из VBA не увенчались успехом. Я делаю следующее:
Sub Powershell_Run()
sCmd = "powershell -file ""C:\Users\i351063\Desktop\Scripts\NewAttempt.ps1"""
Set xShell = CreateObject("Wscript.Shell")
Set xShellExec = xShell.Run(sCmd)
rReturn = xShellExec.Run("C:\Users\i351063\Desktop\Scripts\NewAttempt.ps1")
End Sub
Выполнение этого кода возвращает ошибку: «Ошибка времени выполнения« 70 »: разрешение запрещено» в строке Set xShellExec = xShell.Run (sCmd). Что я делаю не так? Как исправить ошибку?
Заранее большое спасибо!
UPD: код Powershell (я хочу передать имя файла как параметр из VBA в PS, сейчас оно инициализируется прямо в коде)
Param([string]$filename)
$filename = "HT.docm"
Add-Type -AssemblyName "Microsoft.Office.Interop.Word"
$word = [Runtime.Interopservices.Marshal]::GetActiveObject('Word.Application')
$wshell = New-Object -ComObject Wscript.Shell
$doc = $word.Documents | Where-Object {$_.Name -eq "$filename"}
If (!$doc)
{
$form.Close()
[void] $wshell.Popup("Failed to find an opened report",0,"Report not found",0x1)
$word.ScreenUpdating = $true
Break
}
Else {...}