Ошибка «Отказано в доступе» при попытке запустить скрипт Powershell из макроса Word - PullRequest
0 голосов
/ 03 сентября 2018

Мне нужно запустить скрипт 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 {...}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...