![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - PowerShell и Excel |
|
PowerShell - PowerShell и Excel
|
Старожил Сообщения: 173 |
Добрый день
Необходимо в консоль выводить информацию из файла excel Файл Excel это вроде базы. Каждая строка это один элемент данных. Данные об компьютере или сотруднике. Необходимо, чтобы при наборе в консоли например имени - Иванов Скрипт проходил по строкам листа - находил Иванов и отображал определенные ячейки b22, c22, k22 (это как пример, пусть это будет мобильный телефон, рабочий, адрес) Евгений |
|
Отправлено: 16:54, 05-05-2011 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать WSH - это COM, там проблем с автозачисткой не должно быть...
у меня не закрывался, но (обычно) "висело" >1 процесса EXCEL (возможно они друг друга блокировали) |
Отправлено: 16:51, 06-05-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать т.к. Excel не закрывался после отработки скрипта аж до завершения оболочки, а в моем случае оболочка должна была использоваться дальше, причем в это время могли отрабатываться и другие скрипты, которые также вызывали Excel и могли висеть ранее открытые экземпляры, то решил таким вот способом:
$erroractionpreference = "SilentlyContinue" # список процессов до сорздания нашего объекта $procBefore = Get-Process excel | Select-Object -ExpandProperty Id #создаем новый объект $objExcel = New-Object -ComObject Excel.Application #делаем его видимым на момент тестирования $objExcel.visible = $True ######################################################################## # основной блок обработки данных, который в данном случае не интересен # ######################################################################## # закрываем книгу с которой работали $objWorkbook.Close() # закрываем наш экземпляр Excel "по-правильному", после чего процесс тупо висит в памяти и кушает от 12 метров оперативки $objExcel.Quit() Remove-Variable $objExcel # берем снимок процессов после запуска нашего экземпляра Excel $procAfter = Get-Process excel | Select-Object -ExpandProperty Id if ($procBefore -eq $null) # если переменная снимка процессов до создания нашего экземпляра пустая { kill (Get-Process excel | Select-Object -ExpandProperty Id) # то имеем ровно один экземпляр Excel, созданный скриптом, который смело можно убивать } else # в остальных случаях, когда у нас один и более экземпляров Excel было до создания нашего экземпляра { kill ($procAfter | Where-Object {$procBefore -notcontains $_}) # выбираем разницу между снимками до и после запуска и убиваем этот процесс } может кому пригодится ![]() |
Отправлено: 16:27, 15-11-2011 | #12 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBA - Помогите написать макрос в Excel, экспорт данных из Excel в Word. | E.v.g | Программирование и базы данных | 7 | 03-05-2018 22:18 | |
Система - Windows PowerShell | shoot | Программное обеспечение Windows | 13 | 27-11-2011 02:23 | |
Вопрос - applocker powershell | extorhost | Защита компьютерных систем | 0 | 12-08-2010 17:16 | |
2007 - Excel | Вычисление времени в Excel | Vowan | Microsoft Office (Word, Excel, Outlook и т.д.) | 1 | 01-02-2010 17:09 | |
Разное - PowerShell | Butunin Klim | Программирование и базы данных | 1 | 31-07-2008 18:39 |
|