Вопрос № 66354: Здравствуйте! Как в VBA вызывать API-функции?
Как убрать у формы UserForm1 заголовок со всеми кнопками(закрыть,свернуть...)? ...
Вопрос № 66.354
Здравствуйте! Как в VBA вызывать API-функции?
Как убрать у формы UserForm1 заголовок со всеми кнопками(закрыть,свернуть...)?
Отправлен: 10.12.2006, 15:04
Вопрос задал: Rewer8 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: AlexanderZh
Здравствуйте, Rewer8!
1. Для начала её нужно описать:
[Public | Private] Declare Sub name Lib "libname" [Alias "aliasname"] [([arglist])]
а потом вызывать как обычную функцию... пример:
Declare Sub MessageBeep Lib "User32" (ByVal N As Integer)
...
Call MessageBeep(-1)
Ответ отправил: AlexanderZh (статус: Студент)
Ответ отправлен: 10.12.2006, 16:18
Отвечает: VLK
Здравствуйте, Rewer8!
Я не нашел способа убрать в VBA заголовок формы, хотя в VB это элементарно делается. Простейший пример использования API в VBA :
- на лист Word или Excel (неважно) поместите кнопку, используя панель интрументов;
- в режиме конструктора дважды кликните на кнопке и окажитесь в процедуре обработки события Commandbutton1_Click();
- введите строку "Call AllocConsole";
- добавьте модуль в режиме редактора VBA;
- в разделе General модуля напишите: "Declare Function AllocConsole Lib "kernel32" () As Long"
- Сохраните документ и жмите на кнопку (не в режиме конструктора !!!)
ПРЕДВАРИТЕЛЬНО СОХРАНИТЕ ЗАРАНЕЕ ДОКУМЕНТ ПЕРЕД НАЖАТИЕМ НА КНОПКУ !
Я использовал эту функцию - на первый взгляд, бесполезную, однако реально ее можно использовать для запуска batch-файла, к примеру. К тому же она крайне лаконична в объявлении. Вы можете использовать те API, которые вам нужны.
Ответ отправил: VLK (статус: 8-ой класс)
Ответ отправлен: 11.12.2006, 17:41