×
Traktatov.net » Excel. Трюки и эффекты » Читать онлайн
Страница 87 из 146 Настройки

End Sub

Очевидно, что данный макрос используется в комплексе с другими макросами (Макрос 1, Макрос2 и Макрос3), которые разрабатываются отдельно.

В результате выполнения данного макроса на вкладке Надстройки появится меню, изображенное на рис. 3.13.

Если макросы Макрос 1, Макрос2 и Макрос3 отсутствуют, то при выборе пунктов Просмотр, Поставщики и Покупатели, которые входят в состав пользовательского меню Архив, отобразится окно с сообщением, что требуемый макрос не обнаружен.

Рис. 3.13. Добавление пользовательского меню


Такое же меню (см. рис. 3.13) появится на вкладке Надстройки после применения макроса, код которого приведен в листинге 3.44.

Листинг 3.44. Создание пользовательского меню (вариант 2)

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).

Листинг 3.45. Создание пользовательского меню (вариант 3)

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 (путь и название файла условные, взяты только для примера).

Листинг 3.46. Проверка наличия файла (вариант 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.14).

Рис. 3.14. Результат поиска файла


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