Небольшой скрипт на Powershell выполняющий поиск определенного значения по всем файлам Excel в конкретной папке рекурсивно. Все файлы *.xlsx открываются только для чтения, без обновления внешних ссылок (наиболее безвредный и часто встречающийся вариант).
- Microsoft Powershell 5.1
- Microsoft Excel (версии не ниже 2010).
- Скачайте скрипт на свой компьютер. Положите его куда вам удобно.
- Закройте Microsoft Excel.
- Нажмите на иконку скрипта правой кнопкой мыши и в выпадающем меню выберите пункт "Выполнить с помощью PowerShell".
- Скрипт запросит два обязательных параметра необходимых ему для работы:
- Абсолютный путь к папке где необходимо выполнить поиск искомого значения. Пример задания абсолютного пути файла: D:\Work\PowerShell\Test.
- Искомое значение - то, что собственно ищем (например текст или число). Скрипт сам найдёт все файлы по маске *.xlsx (Если объём файлов большой, то необходимо будет подождать).
- Опционально можно задать имя рабочего листа (вкладки) на которой необходимо искать значение. Эта опция полезна в случае если поиск осуществляется по сетевому файловому хранилищу. В данном случае, если заданный вами рабочий лист не будет найден, то этот файл будет пропущен. Если же в файле есть рабочий лист с таким именем, то по нему будет выполнен поиск искомого значения. Если рабочий лист на котором необходимо выполнять поиск не задан, то поиск осуществляется по всем рабочим листам всех найденных файлов.