none
[VBA] Как назначить код на CmdBtn, которая внутри Frame (Excel)? RRS feed

  • Вопрос

  • Здравствуйте, измучился уже вопросом.

    Как назначить код на CommandButton, которая находится внутри фрейма (Microsoft Forms 2.0 Frame) на листе Excel??

    Просто ну никак не получается сделать событие, типа ButtoninFrame_Click

    Помогите, уже весь мозг взорвал себе x_X

    • Перемещено Vinokurov YuriyModerator 5 октября 2011 г. 7:56 (От:Клиентские приложения)
    21 сентября 2011 г. 12:09

Ответы

  • pavelrulez, событие, которое Вы привели, будет работать со стандартными контролами; при использовании фреймов ничего другого не остается, как навешивать обработчики динамически. Рассмотрите, например, такой код

    Public WithEvents Frame1_CommandButton1 As MSForms.CommandButton
    
    Private Sub Frame1_CommandButton1_Click()
        MsgBox "Clicked"
    End Sub
    
    Public Sub Init()
        Set Frame1_CommandButton1 = Sheet1.Frame1.Controls("CommandButton1")
    End Sub
    


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    • Предложено в качестве ответа Dmitry DavydovModerator 11 октября 2011 г. 8:10
    • Помечено в качестве ответа Roman Zhukov 26 октября 2011 г. 12:14
    11 октября 2011 г. 8:09
    Модератор

Все ответы

  • Есть еще одна засада http://support.microsoft.com/kb/2027499
    Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/
    21 сентября 2011 г. 14:33
    Модератор
  • pavelrulez, событие, которое Вы привели, будет работать со стандартными контролами; при использовании фреймов ничего другого не остается, как навешивать обработчики динамически. Рассмотрите, например, такой код

    Public WithEvents Frame1_CommandButton1 As MSForms.CommandButton
    
    Private Sub Frame1_CommandButton1_Click()
        MsgBox "Clicked"
    End Sub
    
    Public Sub Init()
        Set Frame1_CommandButton1 = Sheet1.Frame1.Controls("CommandButton1")
    End Sub
    


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    • Предложено в качестве ответа Dmitry DavydovModerator 11 октября 2011 г. 8:10
    • Помечено в качестве ответа Roman Zhukov 26 октября 2011 г. 12:14
    11 октября 2011 г. 8:09
    Модератор