Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Как программно создать кнопку на форме VBA? Добавлено: 22.04.04 18:49  

Автор вопроса:  Mirgor | Web-сайт: mirgor.vn.ua

Кто нибудь пробовал программно создать кнопку на форме VBA? Как это сделать, если не секрет?

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 bird



ICQ: 40490794 

Вопросов: 0
Ответов: 11
 Профиль | | #1 Добавлено: 27.04.04 17:03

Добавить просто

Вешаем на форму:

Dim NewCtrl As Control

Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

' по даблклику добавляем кнопку

Set NewCtrl = Controls.Add("forms.commandbutton.1", comb)

NewCtrl.Left = 10 'отступ слева

NewCtrl.Top = 50 ' отступ сверху

NewCtrl.Width = 100 ' Длинна кнопки

NewCtrl.Height = 25 ' высота кнопки

NewCtrl.Caption = "Cancel" ' надпись на кнопке

End Sub

Вот как прикрутить этой кнопки действия, пока не придумал :)

Ответить

Номер ответа: 2
Автор ответа:
 OAN



Вопросов: 2
Ответов: 17
 Профиль | | #2 Добавлено: 27.04.04 17:54

' пример вызова ф-ции xControlOnEnter(1) на событие получения фокуса с параметром 1:

NewCtrl.OnEnter = "=xControlOnEnter(1)"

аналогично можно навесить ф-ции к любому другому событию, доступному для NewCtrl

Ответить

Номер ответа: 3
Автор ответа:
 bird



ICQ: 40490794 

Вопросов: 0
Ответов: 11
 Профиль | | #3 Добавлено: 27.04.04 18:09

NewCtrl.OnEnter = "=xControlOnEnter(1)"

или

NewCtrl.Click = ......

у меня вызывают ошибку Run-time error '438', не знаю как у тебя

Ответить

Номер ответа: 4
Автор ответа:
 OAN



Вопросов: 2
Ответов: 17
 Профиль | | #4 Добавлено: 28.04.04 11:05

в MSDNе ошибка 438 - неправильно указано свойство объекта, про

у меня Акцесс2000.

Вызовы ф-ций по событиям и не только для кнопок, например для полей ввода:

ct.OnDblClick = "=ListBoxDblClick(1)"

ct.AfterUpdate = "=xTblControlAfterUpdate(0)"

указанные функции должны быть задекларированы как ФУНКЦИИ в модулях (ну, чтоб доступны с любой точки вызова),

проверь REFERENCE, у меня ВКЛ следующие библиотеки и в таком порядке:

Visual Basic For Application

Microsoft Access 9.0 Object Library

Microsoft DAO 3.6 Object Library

Microsoft Word 9.0 Object Library

Microsoft Office 9.0 Object Library

Microsoft Windows Common Control 6.0 (SP4)

Microsoft Visual Basic for Application Extensibility 5.3

Microsoft Form 2.0 Object Library

Ответить

Номер ответа: 5
Автор ответа:
 bird



ICQ: 40490794 

Вопросов: 0
Ответов: 11
 Профиль | | #5 Добавлено: 28.04.04 14:20

что 438 ошибка - неправильно указано свойство объекта, я вкурсе :)

VBA мучаю по Екселем, и все равно при попыткие повесить Событие на программно сформированную кнопку вылетает с 438 ошибкой на моменте формирования объекта

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам