PowerShell Обновление нескольких рабочих листов в рабочей книге (Excel-файл) с помощью отдельных соответствующих csv-файлов. - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть файл Excel с различными таблицами, содержание которого регулярно обновляется одним макросом. Пользователь должен щелкнуть по каждому листу по очереди и выполнить макрос. Макрос запрашивает отдельный csv-файл для каждого листа, который необходимо выбрать из папки «Файл» вручную.

Вот что скрипт должен делать в фоновом режиме:

  • чтение рабочей книги из csv-файла «excelfile1.csv»
  • чтение рабочей таблицы из csv-файла worksheets.csv со списком рабочих листов (company1, company2, company3, et c ...)
  • активировать рабочий лист с именем «company1», запустить макрос, макрос запрашивает файл с именем «accounting-company1.csv». Confirm, Wait и Macro затем сообщает, что рабочая таблица с именем «Company1» была обновлена.
  • активирует рабочую таблицу с именем «company2», запускает макрос, макрос запрашивает файл с именем «accounting-company2.csv». Confirm, Wait andMacro затем сообщает, что лист с именем «Company2» обновлен.
  • активировать лист с именем «company3», запуск макроса, макрос запрашивает файл с именем «accounting-company3.csv». Confirm, Wait и Macro затем сообщает, что лист с именем «Company3» обновлен. Et c ....

Я благодарен за любую поддержку; -)

Вот мой сценарий, который нужно исправить:

 # Open Excel file
    $excel = new-object -comobject excel.application
    $filePath = "u:\Test_CompanyAccouting.xlsm"
    $workbook = $excel.Workbooks.Open($FilePath)
    $excel.Visible = $true
    # Get Names of existing Worksheets

    $worksheets = Get-ChildItem -Path u:\List_WorksheetsNames.csv | ForEach- 
    Object {$_.name}
    forEach ($Worksheet in $Worksheets) {
    $WS = $Workbook.Worksheets.Item($Worksheet)
    $WS.Activate()
    $excel.Run("MacroAccounting")
    }

    $workbook.save()
    $workbook.close()
    $excel.quit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...