Возврат из пользовательской функции Excel в Powershell - PullRequest
0 голосов
/ 29 сентября 2018

Не удается получить результат функции VBA из документа Excel в сценарий Powershell.

Файл Powershell

$suite = "<some_path>"
$excel = new-object -comobject excel.application
$workbook = $excel.workbooks.open($suite)

$specs = $excel.Run("ThisWorkbook.ftp_specs")
IF([string]::IsNullOrEmpty($specs)) {            
    Write-Host "Your string is EMPTY or NULL"           
} else {            
    Write-Host "Your string is not EMPTY"           
}

Файл Excel (в ThisWorkbook)

Function ftp_specs()
    ftp_specs = "hello"
End Function

Результат выполнения Powershell Your string is EMPTY or NULL

Состояния ссылок MS Office VBA Application.Run возвращает вариант.

Nothing i 'За последние несколько часов мы видели в Интернете намеки на что-либо важное.

1 Ответ

0 голосов
/ 30 сентября 2018

Вам не нужно ThisWorkbook (?) Пространство имен.Просто используйте Run метод с именем функции.Вот так:

$specs = $excel.Run("ftp_specs")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...