powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / excel и события
8 сообщений из 8, страница 1 из 1
excel и события
    #34449856
mitis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как мне в excel сделать так чтобы какое либо действие выполнялось при закрытии.
Ну например в Access всё просто открываем вкладку события в свойствах нужного элемента и привязываем к нему какое либо действие и всё

Private Sub Form_Close()
DoCmd.OpenQuery "обновить_нагрузки"
End Sub

а вот как это сделать в excel не могу разобраться (тут же нет такой вкладки как в Access или всё же есть ?????????????? )
пробовал просто создать событие Workbooks_Close и пытался привязать к нему действие но не чего не происходит

Private Sub Workbooks_Close()
ChDir "D:\"
ActiveWorkbook.SaveAs Filename:="D:\222222222.xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub

помогите пожалуйста разобраться !!!!!!!!!!
...
Рейтинг: 0 / 0
excel и события
    #34450167
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щёлкни правой кнопкой на ярлычке листа - Исходный текст - сюда вставляются обработки событий листа...
...
Рейтинг: 0 / 0
excel и события
    #34450174
lena_####
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mitis

В модуль класса "ThisWorkbook" ("Эта книга") добавьте обработчик события
Код: plaintext
1.
2.
Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub
...
Рейтинг: 0 / 0
excel и события
    #34451494
mitis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Granata005 и lena_#### спасибо огромное за помощь !!!!!!!!!!!!
...
Рейтинг: 0 / 0
excel и события
    #34452335
mitis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Черт побери. С этим то я разобрался , а вот далее опять проблема . Таким способом можно привязать действие только к какой либо определённой книге. А у меня имеется программа которая на основе нескольких шаблонов создаёт один новый и даёт им различные имена . Вот мне и нужно чтобы это действие выполнялось при закрытии именно созданных файлов.
...
Рейтинг: 0 / 0
excel и события
    #34452460
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WorkbookBeforeClose Event
See AlsoApplies ToExampleSpecificsOccurs immediately before any open workbook closes.

Private Sub object_WorkbookBeforeClose(ByVal Wb As Workbook, ByVal Cancel As Boolean)
object An object of type Application declared with events in a class module. For more information, see Using Events with the Application Object.

Wb The workbook that's being closed.

Cancel False when the event occurs. If the event procedure sets this argument to True, the workbook doesn't close when the procedure is finished.

Example
This example prompts the user for a yes or no response before closing any workbook.

Код: plaintext
1.
2.
3.
4.
5.
Private Sub App_WorkbookBeforeClose(ByVal Wb as Workbook, _
        Cancel as Boolean)
    a = MsgBox("Do you really want to close the workbook?", _
        vbYesNo)
    If a = vbNo Then Cancel = True
End Sub
...
Рейтинг: 0 / 0
excel и события
    #34452465
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чтобы это юзать:

Using Events with the Application Object
See AlsoSpecificsBefore you can use events with the Application object, you must create a new class module and declare an object of type Application with events. For example, assume that a new class module is created and called EventClassModule. The new class module contains the following code.

Public WithEvents App As Application

After the new object has been declared with events, it appears in the Object drop-down list box in the class module, and you can write event procedures for the new object. (When you select the new object in the Object box, the valid events for that object are listed in the Procedure drop-down list box.)

Before the procedures will run, however, you must connect the declared object in the class module with the Application object. You can do this with the following code from any module.

Код: plaintext
1.
2.
3.
4.
Dim X As New EventClassModule

Sub InitializeApp()
    Set X.App = Application
End Sub

After you run the InitializeApp procedure, the App object in the class module points to the Microsoft Excel Application object, and the event procedures in the class module will run when the events occur.
...
Рейтинг: 0 / 0
excel и события
    #34452486
mitis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пордон сам догодался . Просто основной шаблон на основе которого создаётся новый файл по идее один , а от остальных беруться только вырезки и вставляются в "основной шаблон" . Так я данное действие приписал этому "основному шаблону". И теперь получается что при создании новых файлов на основе "основного шаблона " к ним и переходят и все события от родительского шаблона.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / excel и события
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]