|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Открытие, изменение и сохранение книг Excel |
|
|
Любой язык - [решено] Открытие, изменение и сохранение книг Excel
|
(*.*) Сообщения: 36554 |
Профиль | Сайт | Отправить PM | Цитировать Всем привет!
Есть рутинная задача. Имеется папка с книгами Excel, в которых разное количество листов, но в каждом есть столбец B (с ячейкой B1=Owner). Нужен скрипт, который удалит все столбцы со всех листов во всех книгах. Макросы по удалению такого столбца из одной книги вроде нагугливаются. Но хотелось бы решить поставленную задачу, чтобы не открывать каждую книгу. Буду признателен за любую помощь. Вадим |
|
------- Отправлено: 13:04, 07-12-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Vadikan:
* писалось под 2003-им Microsoft Excel, потому крайне рекомендую сначала опробовать «на свинках»; * не рекурсивно. |
|
Отправлено: 16:31, 07-12-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 24
|
Профиль | Отправить PM | Цитировать Powershell
написал только что , так что без особого тестирования... Сначала лучше запустить на "кошках" Excel 2007. $xlCellTypeLastCell = 11 $xl = New-Object -com Excel.Application $xl.Visible = $false $xl.DisplayAlerts = $False Get-ChildItem -Path c:\temp\excelRemouveColumn -Recurse -Include *.xlsx | %{ $wb = $xl.Workbooks.Open($_.fullname) 1..$wb.Worksheets.Count | %{ $ws = $wb.Worksheets.Item($_) if($ws.cells.item(1,2).value() -eq "Owner"){ [void]$ws.columns.item(2).delete() } } $wb.Save() $wb.Close() } $xl.Quit() [System.Runtime.Interopservices.Marshal]::ReleaseComObject($xl) Remove-Variable xl |
Последний раз редактировалось Vadikan, 16-04-2013 в 22:02. Причина: upd Отправлено: 17:12, 07-12-2012 | #3 |
(*.*) Сообщения: 36554
|
Профиль | Сайт | Отправить PM | Цитировать Iska, спасибо за вариант, я ждал помощи от вас
К сожалению, получил ошибку C:\Users\username\Documents\test\remove-column.vbs(31, 11) Microsoft VBScript runtime error: Type mismatch: 'Value' van1985, кстати, я очень хотел посмотреть, не предложит ли кто-нибудь вариант с PowerShell. Я по гуглу такое не осилил, к сожалению. Большое спасибо, ненужные мне столбцы удалились везде. Нужные, вроде, не пропали |
------- Отправлено: 18:59, 07-12-2012 | #4 |
(*.*) Сообщения: 36554
|
Профиль | Сайт | Отправить PM | Цитировать Я временно сниму пометку решено и подниму тему.
Сейчас нужно решение именно на VBS под Office 2013 RT, потому что в Windows RT из пошика это не сделать. Для решения текущей задачи достаточно только поочередно открыть, сохранить и закрыть все книги XLS в заданной папке. Вот тут есть очень похожее http://stackoverflow.com/questions/1...-automatically , надо на обработку папки переделать, но у меня с VBS совсем никак Буду признателен любым идеям! |
|
------- Отправлено: 22:07, 16-04-2013 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Vadikan:
Цитата Vadikan:
Примерно так: |
||
Последний раз редактировалось Iska, 18-04-2013 в 00:17. Отправлено: 04:49, 17-04-2013 | #6 |
(*.*) Сообщения: 36554
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 11:16, 17-04-2013 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Vadikan:
Цитата Vadikan:
|
||
Отправлено: 14:09, 17-04-2013 | #8 |
(*.*) Сообщения: 36554
|
Профиль | Сайт | Отправить PM | Цитировать Iska, да, так работает, но все равно не сработало в RT.
Цитата:
Спасибо за помощь! |
|
------- Отправлено: 21:45, 17-04-2013 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Vadikan:
Цитата Vadikan:
|
|||
Отправлено: 00:18, 18-04-2013 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Открытие файла Excel в Visual Basic 2010 | neo21 | Программирование и базы данных | 18 | 27-07-2016 14:22 | |
2010 - Создание, сохранение и открытие документа в Word 2010 | OSZone | Microsoft Office (Word, Excel, Outlook и т.д.) | 11 | 13-05-2014 11:26 | |
VBA - [решено] сохранение текстовых файлов (Excel) | neprotiv | Программирование и базы данных | 4 | 28-12-2011 08:54 | |
VBS/WSH/JS - [решено] Открытие файла Excel с помощью vbs | neo21 | Скриптовые языки администрирования Windows | 1 | 30-10-2011 20:08 | |
Разное - Internet explorer + сохранение/открытие файла | Dj Dynamite | Microsoft Windows 2000/XP | 8 | 31-01-2009 20:10 |
|