Информатика. Книга 7 Быстрое размножение рабочей книги 7 Сохранение рабочей книги с именем, представляющим собой текущую дату 7
Скачать 1.27 Mb.
|
Проверка наличия файла по указанному путиЛистинг 3.48. Проверка наличия файла (вариант 1) Sub VerifyFileLocation() Dim strFileName As String Dim strFileTitle As String ' Имя и путь искомого файла strFileTitle = "primer.xls" strFileName = "C:\Документы\primer.xls" ' Проверка наличия файла (функция Dir возвращает пустую _ строку, если по указанному пути файл обнаружить не удалось) If Dir(strFileName) <> "" Then MsgBox "Файл " & strFileTitle & " найден" Else MsgBox "Файл " & strFileTitle & " не найден" End If End Sub Листинг 3.49. Проверка наличия файла (вариант 2) Sub VerifyFileLocation1() Dim strFileName As String ' Имя искомого файла strFileName = "C:\Документы\primer.xls" ' Проверка наличия файла (функция Dir возвращает пустую _ строку, если по указанному пути файл обнаружить не удалось) If Dir(strFileName) <> "" Then MsgBox "Файл " & strFileName & " найден" Else MsgBox "Файл " & strFileName & " не найден" End If End Sub Листинг 3.50. Поиск нужного файла 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 ' Вывод окна с отчетом о поиске средствами объекта FileSearch MsgBox "Использование объекта FileSearch..." & vbCrLf & _ vbCrLf & dhSearchFileSearch(strFolder, strFileName), 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 dhSearchFileSearch(varFolder As Variant, varFileName _ As Variant) As Boolean ' Использование объекта FileSearch With Application.FileSearch ' Создание нового поиска .NewSearch ' Имя для поиска .FileName = varFileName ' Папка поиска .LookIn = varFolder ' Собственно поиск .Execute dhSearchFileSearch = .FoundFiles.Count <> 0 End With 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 Автоматизация удаления файловЛистинг 3.51. Удаление файла Sub DeleteFile() Kill "C:\Документы\primer.xls" End Sub Листинг 3.52. Удаление группы файлов Sub DeleteFiles() ' Удаление всех файлов с расширением XLS из заданной папки Kill "C:\Документы" & "*.xls" End Sub Перечень имен листов в виде гиперссылокЛистинг 3.53. Перечень имен рабочих листов Sub SheetNamesAsHyperLinks() Dim sheet As Worksheet Dim cell As Range With ActiveWorkbook ' Просмотр всех листов книги и создание гиперссылок на них _ на первом листе For Each sheet In ActiveWorkbook.Worksheets Set cell = Worksheets(1).Cells(sheet.Index, 1) .Worksheets(1).Hyperlinks.Add Anchor:=cell, Address:="", _ SubAddress:="'" & sheet.Name & "'" & "!A1" cell.Formula = sheet.Name Next End With End Sub |