VBATools

Zdarzenia tworzone klasą

by on Nov.09, 2014, under Porady, Word

WD_Zdarzenia

W aplikacji MS Word można powołać się na procedury zdarzeniowe typu Document. Niestety jest ich dość mało i nie spełniają one oczekiwań w stopniu jaki daje nam np MS Excel.

Można jednak tworzyć klasę, która odwołuje się do obiektu Word.Application, który pokazuje szerszą możliwość ich użycia.

W klasie głównej ThisDocument tworzymy zatem kod wywołujący klasę Zdarzenia, którą stworzymy w drugiej kolejności:

Option Explicit
Dim WDEvents As New Zdarzenia
Private Sub Document_Open()
 Set WDEvents.WDApp = Word.Application
End Sub

 

Następnie, należy utworzyć moduł klasy o konkretnej nazwie na jaką powołaliśmy sie pow., którą przywołamy przy uruchomieniu pliku. czyli klasę o nazwie: Zdarzenia

Option Explicit
Public WithEvents WDApp As Word.Application
Private Sub Class_Initialize()
 Set WDApp = Word.Application
End Sub
Private Sub WDApp_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
 MsgBox "Komunikat tworzony w ramach procesu drukowania dokumentu " & _
 Doc.Name & "!", vbOKOnly, "VBATools.pl"
 Cancel = True 'usuń jak chcesz dopuścić do druku lub wywołać jakiś kod
End Sub

 

Przy wywołaniu instrukcji z Document_open otrzymujemy następującą listę:

WD_Zdarzenia_klasy

Czy to nie otwiera szereg nowych możliwości?

 

:, ,

Leave a Reply

Recently Active Members

Profile picture of vbatools
Profile picture of Karol Stilger
Profile picture of marcinmachalowski
Profile picture of Joanna Subik
Profile picture of Anorak
Profile picture of programistaaccess
Profile picture of piotrpawlik
Profile picture of Emil Wasilewski
Profile picture of kicekpicek
Profile picture of coldfusion
Profile picture of Gosia Borzęcka
Profile picture of lukaszch
Profile picture of itadministracja
Profile picture of farbenia
Profile picture of Łukasz Kałużny
Profile picture of kabzinski
Profile picture of rtynski
Profile picture of leszekbetlinski
Profile picture of Iv
Profile picture of Justyna Spychała