Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA For Excel Часть 02.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.08 Mб
Скачать

Скрытие и отображение панели задач через api функции

Ниже нами приведен код модуля макросов, позволяющий скрывать и отображать панель задач в Excel VBA через API функции:

'API функция для определения номера окна

Private Declare Function FindWindow Lib "user32" _

Alias "FindWindowA" (ByVal IpClassName As String, _

ByVal IpWindowName As String) As Long

'API функция для скрытия и показа окна

Private Declare Function ShowWindow Lib "user32" ( _

ByVal hwnd As Long, ByVal ncmdShow As Long) As Long

'константы для скрытия и показа окна

Private Const SW_Hide = 0, SW_Show = 5

Private Function НомераОкнаЗадач() As Long

НомераОкнаЗадач = FindWindow("Shell_TrayWND", vbNullString)

End Function

Public Sub СкрытьПанельЗадач()

ShowWindow НомераОкнаЗадач, SW_Hide

End Sub

Public Sub ПоказатьПанельЗадач()

ShowWindow НомераОкнаЗадач, SW_Show

End Sub

Запуск ярлыка и исполняемых файлов через api функцию

В VBA существует оператор для запуска исполняемых файлов Shell, однако, данным оператором невозможно запустить исполняемый файл через ярлык, невозможно открыть директорию диска по ярлыку, невозможно запустить файл MS Office через ярлык. Так же нельзя задать в параметре запуска имя файла содержащего пробелы. Преодолеть эти трудности возможно при помощи соответствующей API функции:

' Объявляем API функцию

Public Declare Function ShellExecute _

Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _

ByVal lpOperation As String, ByVal lpFile As String, _

ByVal lpParameters As String, _

ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Упрощенная API функция для запуска файла

Function ЗапускФайла(ByVal ИмяФайла As String, _

Optional ПараметрыЗапуска As String = "", Optional РабочаяДиректория _

As String = "", Optional ВидОкна As Long = 1) As Long

Dim i As Long

ЗапускФайла = _

ShellExecute(i, "", ИмяФайла, ПараметрыЗапуска, РабочаяДиректория, ВидОкна)

End Function

Sub Запуск_файла_по_имени()

Dim path As String

path = InputBox( _

"Введите полное имя исполняемого файла или полное имя ярлыка для запуска." + Chr(13) + _

"Или введите пустую строку для запуска ярлыка Word.")

If path = "" Then

path = "C:\windows\Рабочий стол\Microsoft Word.lnk"

End If

If ЗапускФайла(path) = 2 Then

MsgBox "Файл не запущен!"

End If

End Sub

Приложение 9 (Основные понятия визуального программирования на доступных примерах)

В VBA существует такое понятие как класс и объект(экземпляр класса).

Объект имеет ряд следующих характеристик:

  • Свойства – определяют вид объекта или его состояние.

  • Методы – способы изменения свойств объекта.

  • События – события, происходящие с объектом.

Разберем эти понятия, опираясь на известные всем нам понятия.

Существуют фрукты: яблоки, груши, апельсины и т.п. Каждый конкретный фрукт принадлежит определенному классу - Яблоко к классу Яблоки, Груша к классу Груши и т.д.

Каждый конкретный фрукт обладает рядом свойств, так, например, яблоко имеет свойства: размер – определяющего его величину, вкус – определяющий кислое или сладкое яблоко, цвет – определяющий раскраску данного фрукта. Каждое конкретное яблоко является объектом, или экземпляром из класса Яблоки. Каждое яблоко может иметь определенное значение своих свойств, совпадающих или не совпадающих со значениями свойств других яблок, но при этом оно остается уникальным объектом Яблоко из класса Яблоки (см. Рис 32).

Рис 32 Классы и Объекты

Если бы яблоки были объектами VBA, то каждое из существующих в мире яблок имело бы свое уникальное имя, причем значение свойства(имя) не разу бы не повторилось. По умолчанию яблоки именовались следующим образом: Яблоко1, Яблоко2, Яблоко3 и т.д. Хотя допускалось бы назвать яблоко и по-другому, например, МойФрукт. Но по такому имени трудно догадаться, что это имя объекта из класса Яблоки.

Если яблоко растет на дереве, то у природы существую различные методы, для того, что бы изменить свойство объекта яблока, по мере развития яблока, меняется ее размер, цвет, вкус. Размер, вкус и цвет, как уже говорилось, это свойства яблока, которые определяют его внешний вид и состояние. Если бы природа была программистом VBA, а яблоко являлось объектом VBA, то она для изменения свойств яблока вкуса и цвета написала бы следующую программную инструкцию:

Яблоко1.Цвет = красный

Яблоко1.Вкус = сладкий

В данном примере свойство Цвет и Вкус принадлежит объекту: Яблоко1, т.к. имя свойства отделяется от имени соответствующего объекта точкой. При выполнении данной программной инструкции в объекте начнут действовать соответствующие методы скрытые внутри соответствующих свойств, Яблоко1 сначала станет красным, а затем, сладким. Однако, не все методы VBA вызываются таким же образом, каким мы вызвали их в указанном выше примере.

Допустим, мы хотим изменить форму яблока, для этого надо его сплющить, т.е. применить соответствующий метод “сплющить”, в этом случаи, данный метод запустится следующем образом:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]