NetForVBA: Gắn sự kiện của Form Control với Sub VBA

Để bắt được sự kiện của các Control trên Form và xử lý bằng code VBA bạn cần gắn sự kiện với sub/function VBA.

Trong NetForVBA cấu trúc đăng ký một Event của control như sau:

control.regEvent_{eventName} ThisWorkbook, "macroName"

Trong đó {eventName} tùy theo control sẽ có giá trị khác nhau, macroName là tên sub/function macro sẽ nhận sự kiện.

Cấu trúc của sub/function nhận sự kiện phải có 2 parameters (dạng tổng quát là Object), ví dụ:

Sub myControl_Click(sender As Object, e As Object)
   'do something
End Sub

Ví dụ về Timer:

Public app As New dnAppExcel
Sub Button1_Click()
    app.Initialize Application 'Khoi tao bien app

    Dim timer As New dnTimer
    timer.Interval = 500 'ms
    timer.regEvent_Tick ThisWorkbook, "timer_Tick"
    timer.Start
End Sub
Sub timer_Tick(sender As Object, e As Object)
    ActiveCell.Value = app.Now.Millisecond
    If app.Now.Second = 0 Then sender.Stop ' sender is timer
End Sub

Author: autoDN

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *