Как запустить параллельные макросы Excel с PowerShell? - PullRequest
1 голос
/ 29 апреля 2019

Я хотел бы запустить несколько макросов Excel параллельно, открыв несколько экземпляров Excel с помощью сценария оболочки (PowerShell).

Примеры параллельной обработки в оболочке для меня не интуитивны (плохо знакомы со сценариями оболочки).

# start excel
$excel = New-Object -comobject Excel.Application

# get files
$files = Get-ChildItem "C:\User\test"

# loop through all files in the directory
ForEach ($file in $files){

    # open the file
    $workbook = $excel.Workbooks.Open($file.FullName)

    # make file visible
    $excel.Visible = $true

    # run macro
    $app = $excel.Application
    $app.run("Macro1")
}

Приведенный код выполняет нужную мне задачу, но выполняется последовательно, а не параллельно.

1 Ответ

0 голосов
/ 29 апреля 2019
$app.run("application.ontime vba.now() + vba.timeserial(0,0,5),""Macro1"" ")

Это запустит Assync вашего макроса, но все еще не знает, если вы хотите

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