Запустите сценарий загрузки PowerShell FTP из VBA и выдайте сообщение с результатом - PullRequest
0 голосов
/ 29 мая 2018

У меня есть базовый код PowerShell для FTP-загрузки, который я запускаю (скрытый) через VBA в Excel:

VBA:

Call Shell("powershell -executionpolicy bypass & """ & ThisWorkbook.Path & "\FTP\FTPUpload.ps1""", vbHide)

FTPUpload.ps1:

$File = "H:\Workbook\file.txt"
$ftp ="ftp://user:pass@ftp.site.org/incoming/file.txt"

"ftp url: $ftp"

$webclient = New-Object System.Net.WebClient
$uri = New-Object System.Uri($ftp)

"Uploading $File..."

$webclient.UploadFile($uri, $File)

Я хочу, чтобы я мог показывать пользователю сообщение о прохождении / сбое.Каков наилучший способ сделать это?

1 Ответ

0 голосов
/ 29 мая 2018

Заставьте скрипт PowerShell сигнализировать свои результаты с помощью кода выхода:

try
{
    $webclient = New-Object System.Net.WebClient
    $uri = New-Object System.Uri($ftp)

    "Uploading $File..."

    $webclient.UploadFile($uri, $File)

    exit 0
}
catch
{
    exit 1
}

И измените код VBA, чтобы дождаться кода выхода и действовать соответственно.
См. VBAОболочка и ожидание с кодом выхода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...