End Sub
Очевидно, что данный макрос используется в комплексе с другими макросами (Макрос 1, Макрос2 и Макрос3), которые разрабатываются отдельно.
В результате выполнения данного макроса на вкладке Надстройки появится меню, изображенное на рис. 3.13.
Если макросы Макрос 1, Макрос2 и Макрос3 отсутствуют, то при выборе пунктов Просмотр, Поставщики и Покупатели, которые входят в состав пользовательского меню Архив, отобразится окно с сообщением, что требуемый макрос не обнаружен.
Рис. 3.13. Добавление пользовательского меню
Такое же меню (см. рис. 3.13) появится на вкладке Надстройки после применения макроса, код которого приведен в листинге 3.44.
Sub AddCustomMenu1()
' Добавление меню с названием «Архив» в часть меню, _
относящуюся к рабочей книге
With MenuBars(«Worksheet»).Menus.Add(Caption:="Архив")
' Добавление кнопки
.MenuItems.Add Caption:="Просмотр", OnAction:="Макрос1"
' Добавление подменю
With .MenuItems.AddMenu(Caption:="База данных")
' Добавление пунктов подменю
MenuItems.Add Caption:="Поставщики", OnAction:="Макрос2"
.MenuItems.Add Caption:="Покупатели", OnAction:="Макрос3"
End With
End With
End Sub
К аналогичному результату приведет использование также такого макроса (листинг 3.45).
Sub AddCustomMenu2()
' Добавление меню с названием «Архив» в часть меню, _
относящуюся к рабочей книге
With MenuBars(«Worksheet»).Menus.Add(Caption:="Архив")
' Добавление кнопки
.MenuItems.Add Caption:="Просмотр", OnAction:="Макрос1"
' Добавление подменю
With .MenuItems.AddMenu(Caption:="База данных")
' Добавление первого пункта подменю
With .MenuItems.Add(Caption:="Поставщики")
' Настройка кнопки
.OnAction = «Макрос2»
End With
' Добавление второго пункта подменю
With .MenuItems.Add(Caption:="Покупатели")
' Настройка кнопки
.OnAction = «Макрос3»
End With
End With
End With
End Sub
Как и в первом случае, два последних макроса предусматривают использование дополнительных макросов Макрос1, Макрос2 и Макрос3.
Проверка наличия файла по указанному пути
При необходимости можно быстро проверить, существует ли файл по указанному адресу. Чаще всего для этого используется макрос, приведенный в листинге 3.46 (путь и название файла условные, взяты только для примера).
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.14).
Рис. 3.14. Результат поиска файла
Для такой же проверки можно применить макрос, код которого приведен в листинге 3.47 (путь и название файла условны).