Читаем Excel. Трюки и эффекты полностью

Листинг 3.48. Поиск нужного файла

Sub FileSearch()

Dim strFileName As String

Dim strFolder As String

Dim strFullPath As String

' Задание имени папки для поиска

strFolder = InputBox(«Определите папку:»)

If strFolder = "" Then Exit Sub

' Задание имена файла для поиска

strFileName = Application.InputBox(«Введите имя файла:»)

If strFileName = "" Then Exit Sub

' При необходимости дополняем имя папки "\"

If Right(strFolder, 1) <> "\" Then strFolder = strFolder & "\"

' Полный путь файла

strFullPath = strFolder & strFileName

' Вывод окна с отчетом о поиске средствами VBA

MsgBox «Использование команды VBA...» & vbCrLf & vbCrLf & _

dhSearchVBA(strFullPath), vbInformation, strFullPath

' Вывод окна с отчетом о поиске средствами объекта _

FileSystemObject

MsgBox «Использование объекта FileSystemObject...» & vbCrLf

& _

vbCrLf & dhSearchFileSystemObject(strFullPath), vbInformation, _

strFullPath

End Sub

Function dhSearchVBA(varFullPath As Variant) As Boolean

' Использование команды VBA

dhSearchVBA = Dir(varFullPath) <> ""

End Function

Function dhSearchFileSystemObject(varFullPath As Variant) As

Boolean

Dim objFSObject As Object

' Использование объекта FileSystemObject

Set objFSObject = CreateObject(«Scripting.FileSystemObject»)

dhSearchFileSystemObject = objFSObject.FileExists(varFullPath)

End Function

В результате запуска макроса открывается окно, в котором указывается папка для поиска, а затем (после нажатия кнопки ОК) – имя искомого файла. В данном примере для поиска файла используются два разных метода. После ввода имени папки и файла они будут применены поочередно, и в каждом случае будет показан отдельный результат: если файл обнаружен по указанному пути, то отобразится значение True, в противном случае – False.

В результате написания приведенного выше кода, помимо макроса FileSearch, будут созданы три пользовательские функции (их можно найти в категории Определенные пользователем). С помощью этих функций можно отдельно использовать каждый из методов, которые автоматически применяются при выполнении макроса. В данном случае в качестве аргументов функций указываются ячейки, содержащие путь к искомому файлу. Если файл обнаружен по указанному пути, то в активной ячейке отобразится значение ИСТИНА, в противном случае – ЛОЖЬ.

Автоматизация удаления файлов

Используя средства VBA, можно удалять как отдельные файлы, так и группы файлов в соответствии с заданными параметрами.

Чтобы удалить отдельный файл, можно воспользоваться следующим макросом (листинг 3.49).

Листинг 3.49. Удаление файла

Sub DeleteFile()

Kill «C:\Документы\primer.xls»

End Sub

В результате выполнения данного макроса будет удален файл primer.xls, расположенный по адресу С: \ Документы.

Для удаления группы файлов с определенным расширением можно использовать следующий макрос (листинг 3.50).

Листинг 3.50. Удаление группы файлов

Sub DeleteFiles()

' Удаление всех файлов с расширением XLS из заданной папки

Kill «C:\Документы\» & «*.xls»

End Sub

После выполнения этого макроса из папки Документы на диске С: будут удалены все файлы, имеющие расширение XLS.

При удалении файлов с помощью приведенных макросов следует учитывать, что они не помещаются в Корзину, а окончательно удаляются с жесткого диска.

Перечень имен листов в виде гиперссылок

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Мейерс , Скотт Майерс

Программирование, программы, базы данных / Программирование / Книги по IT