Доброго дня!
Опыта в программировании нет. Поэтому сразу прошу прощения за все ляпы и ересь...
Стоит задача: запустить скриптом Excel, открыть определенный документ и выполнить макрос.
Я сделал это как cмог в PowerShell.
Но запускать этот скрипт нужно из программы, которая не дружит с PowerShell, а соответственно запускаю из этой программы cmd-файл, следующего содержания:
Код :
powershell -ExecutionPolicy bypass -File C:\Script\NEW_Sticker_2.ps1
И далее выполняется сам NEW_Sticker_2.ps1:
Код :
$excel = new-object -comobject excel.application $xlprocess = Get-Process excel $excel.Visible = $False $excel.DisplayAlerts = $False $excelFiles = Get-ChildItem -Path C:\workfiles\ -Include *.xls, *.xlsx -Recurse Foreach($file in $excelFiles) { $workbook = $excel.workbooks.open($file.fullname) $worksheet = $workbook.worksheets.item(1) $excel.Run("Personal.xlsb!Export") } $workbook.Close() $excel.Quit() $xlprocess | kill[/B]
Все работает, но только с постоянно прописанным путём к обрабатываемому файлу (C:\workfiles\).
Пожалуйста, помогите.
Можно ли из первого cmd-файла как-нибудь передать параметром путь к обрабатываемому файлу, который каждый раз меняется?
Первому файлу этот параметр (путь) может сообщить запускающая его программа как параметр...
Или может я вообще левой рукой правое ухо чешу?
И можно все прощу сделать...