Pisanie kodu kodem-przypisanie zdarzenia.doc

(22 KB) Pobierz
Pisanie kodu kodem - przypisanie zdarzenia dodanej kodem kontrolce

Pisanie kodu kodem - przypisanie zdarzenia dodanej kodem kontrolce

Poniższy przykład pokazuje jak za pomocą kodu VBA można napisać ... kod VBA. Procedura dodaje do aktywnego skoroszytu kontrolkę CheckBox, a następnie tworzy kod obsługujący zdarzenie 'Click':

Sub wstawCheckBox()

Dim arkusz As Worksheet
Set arkusz = ActiveSheet
 

    'dodaje kontrolkę
    Set NewCheckBox = arkusz.OLEObjects.Add(ClassType:="Forms.CheckBox.1")

    nazwa = NewCheckBox.Name
    NewCheckBox.Object.Caption = nazwa
 

    'pisze kod
    code = "Sub " & nazwa & "_Click()" & vbCr
    code = code & "MsgBox (me." & nazwa & ".name & "" - to działa!"")" & vbCr
    code = code & "End Sub"
 

    'wstawia kod do arkusza
    With ThisWorkbook.VBProject. _
        VBComponents(arkusz.Name).CodeModule
        nextline = .CountOfLines + 1
        .InsertLines nextline, code
    End With

End Sub
 

Konieczne jest włączenie dostępu do projektu VB: menu excela narzędzia/makra/bezpieczeństwo/zaufane źródła, zaznaczyć 'ufaj dostęowi do projektu VB' (tłumaczenie własne).

 

Procedura pochodzi z książki J. Walkenbacha "Programowanie Excel 2000". Mojego autorstwa są (niestety) poprawki i drobne zmiany w kodzie.

 

Porównaj pisaniekoduwmodule.htm

 

...
Zgłoś jeśli naruszono regulamin