Главная страница
Навигация по странице:

  • Листинг 3.48.

  • Листинг 3.49.

  • Листинг 3.50.

  • Листинг 3.51.

  • Листинг 3.53.

  • Информатика. Книга 7 Быстрое размножение рабочей книги 7 Сохранение рабочей книги с именем, представляющим собой текущую дату 7


    Скачать 1.27 Mb.
    НазваниеКнига 7 Быстрое размножение рабочей книги 7 Сохранение рабочей книги с именем, представляющим собой текущую дату 7
    АнкорИнформатика
    Дата16.05.2022
    Размер1.27 Mb.
    Формат файлаdoc
    Имя файлаVBA_v_primerakh.doc
    ТипКнига
    #532661
    страница9 из 21
    1   ...   5   6   7   8   9   10   11   12   ...   21

    Проверка наличия файла по указанному пути


    Листинг 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
    1   ...   5   6   7   8   9   10   11   12   ...   21


    написать администратору сайта