Вопрос № 85964: Из Excel вызываю диалоговое окно отправки файла по e-mail:
Application.Dialogs(xlDialogSendMail).Show
Подскажите как с помощью API-функций типа SendMessage отправить строки в Текстовые поля "Кому" и "Тема".
<...Вопрос № 86009: Здравствуйте!!! Как можно из своей надстройки в Excel
отлавливать событие открытия новой рабочей книги?
Тоесть моя надстройка работает я нажимаю кнопку добавить
новую рабочую книгу или открыть и на
это событие открываемая книга долж...
Вопрос № 85.964
Из Excel вызываю диалоговое окно отправки файла по e-mail:
Application.Dialogs(xlDialogSendMail).Show
Подскажите как с помощью API-функций типа SendMessage отправить строки в Текстовые поля "Кому" и "Тема".
Если можно дайте кусок работоспособного кода.
Благодарю.
Отправлен: 08.05.2007, 08:14
Вопрос задал: Mironicuss (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Mironicuss!
У диалога - xlDialogSendMail есть три аргумента recipients, subject, return_receipt
(из справки VBA)
Евгений.
Здравствуйте!!! Как можно из своей надстройки в Excel
отлавливать событие открытия новой рабочей книги?
Тоесть моя надстройка работает я нажимаю кнопку добавить
новую рабочую книгу или открыть и на
это событие открываемая книга должна закрыться.
Проблема именно в событии или может есть альтернативный вариант?
Отправлен: 08.05.2007, 14:43
Вопрос задал: Rewer8 (статус: 8-ой класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: HookEst
Здравствуйте, Rewer8!
Для перехвата событий Application нужен класс-обертка:
'ClassModule: AppEvents
Option Explicit
Private WithEvents mApp As Excel.Application
'метод для включения и отключения перехвата событий
Sub HandleEvents(ByVal b As Boolean)
If b Then Set mApp = Application Else Set b = Nothing
End Sub
Private Sub Class_Terminate()
Set mApp = Nothing
End Sub
'перехватчик события OnNewWorkbook
Private Sub mApp_NewWorkbook(ByVal Wb As Workbook)
MsgBox "Book creation is illegal! It will be closed!"
Wb.Close
End Sub
ну и собственно в модуле настройки:
'Module1
Option Explicit
Private xlApp As New AppEvents
'если надстройка включена, Auto_Open будет выполнятся при запуске Excel
Sub Auto_Open()
xlApp.HandleEvents True
End Sub
Успехов.
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 10.05.2007, 07:00 Оценка за ответ: 5 Комментарий оценки: Спасибо громадное! Именно то что нужно Отличный вариант а главное именно для надстроек *.xla и очень универсальный