|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] PoSH и Excel |
|
PowerShell - [решено] PoSH и Excel
|
Пользователь Сообщения: 85 |
Добрый день!!! Поставили задачу: есть 200 файлов excel нужно зайти в файл сменить ориентацию на горизонтальную распечатать как сделать с помощью скрипта?
Мои наработки пока не знаю как передать excel код $excel = new-object -comobject excel.application $excelFiles = Get-ChildItem -Path C:\fso -Include *.xls, *.xlsm -Recurse Foreach($file in $excelFiles) { $workbook = $excel.workbooks.open($file.fullname) $worksheet = $workbook.worksheets.item(1) $excel.Run('Sub orientPage() With ActiveDocument.PageSetup If .Orientation <> wdOrientPortrait Then .Orientation = wdOrientPortrait Else .Orientation = wdOrientLandscape End If End With End Sub') $workbook.save() $workbook.close() } $excel.quit() |
|
Отправлено: 16:45, 13-01-2016 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата:
Используйте: Не проверялось. |
|
Отправлено: 17:22, 13-01-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 85
|
Профиль | Отправить PM | Цитировать Спасибо за помощь вот почти готовый код
$excel = new-object -comobject excel.application $excelFiles = Get-ChildItem -Path D:\fso -Include *.xls, *.xlsm -Recurse Foreach($file in $excelFiles) { $workbook = $excel.workbooks.open($file.fullname) $worksheet = $workbook.worksheets.item(1) $worksheet.PageSetup.Orientation = 2 $workbook.PrintOut() $excel.ActiveWorkbook.SaveAs($file) $Excel.Workbooks.Close() } $excel.quit() И еще Iska такой вопрос может подскажите, где посмотреть параметры к примеру перевернуть страницу или еще какие функции может excel через командную строку |
Последний раз редактировалось Ubiquiti, 13-01-2016 в 19:14. Отправлено: 18:41, 13-01-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Ubiquiti:
Цитата Ubiquiti:
Цитата Ubiquiti:
Самое простое — запишите макрос потребных действий. Затем откройте модуль с записанным текстом макроса. Найдите потребное место — метод или свойство. В данном случае это может выглядеть так: Скрытый текст
![]() Стать курсором на этот метод/свойство и нажать F1. Цитата Ubiquiti:
Цитата Ubiquiti:
|
|||||
Отправлено: 23:07, 13-01-2016 | #4 |
Пользователь Сообщения: 85
|
Профиль | Отправить PM | Цитировать Окончательный вариант
$excel = new-object -comobject excel.application #откуда берем файлы $excelFiles = Get-ChildItem -Path D:\fso -Include *.xls, *.xlsm -Recurse #в цикле перебираем файлы из указанной папки Foreach($file in $excelFiles) { $workbook = $excel.workbooks.open($file.fullname) $worksheet = $workbook.worksheets.item(1) # переворачиваем страницу в ландшафтный вариант (портретный 1 поставить надо) $worksheet.PageSetup.Orientation = 2 # печатаем на принтер по умолчанию $workbook.PrintOut() # сохраняем $excel.ActiveWorkbook.Save($file) $Excel.Workbooks.Close() } $excel.quit() |
|
Отправлено: 06:30, 14-01-2016 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Ubiquiti:
|
|
Отправлено: 11:28, 14-01-2016 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Архивирование PoSH | Ubiquiti | Скриптовые языки администрирования Windows | 8 | 24-07-2015 19:01 | |
PowerShell - [решено] агрументы и параметры в сценариях PoSh | Shkutu | Скриптовые языки администрирования Windows | 3 | 03-10-2013 13:45 | |
2008 R2 - [решено] posh: set-aduser -name? | nokogerra | Windows Server 2008/2008 R2 | 6 | 01-10-2013 09:56 | |
PowerShell - Поиск в Excel средствами PoSh | Andrey111sk | Скриптовые языки администрирования Windows | 1 | 10-07-2013 00:08 | |
[решено] WSH PoSH | Ragnazar | Хочу все знать | 6 | 14-05-2012 14:11 |
|