Панельку в Excel

Программирование на Visual Basic for Applications
Ostin
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 08.03.2006 (Ср) 8:21

Панельку в Excel

Сообщение Ostin » 15.08.2006 (Вт) 13:30

Дорогие друзья-программисты, не сталкивались ли вы с идеей сделать в Excel'e панельку, которая независимо от положения прокрутки всегда будет находиться в какой-нибудь определенной части окна?

Спасибо.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.08.2006 (Вт) 13:31

Панель всегда находится в определенной части окна независимо от положения прокрутки.
Lasciate ogni speranza, voi ch'entrate.

Ostin
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 08.03.2006 (Ср) 8:21

Сообщение Ostin » 15.08.2006 (Вт) 13:33

Я хотел сказать - КАК сделать панель, куда бы можно было впихнуть свои кнопочки с привязанным кодом...

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 15.08.2006 (Вт) 13:57

Очень просто - правой кнопкой щелкаешь на уже существующих панелях или на заголовке меню, в появившемся меню выбираешь "Настройка", там вкладка "Панели инструментов" и кнопочка "Создать". Вуаля. :D
Быть... или не быть. Вот. В чём вопрос?

Ostin
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 08.03.2006 (Ср) 8:21

Сообщение Ostin » 15.08.2006 (Вт) 14:02

Это конечно создалось, а как связать с кодом, добавить СВОЮ кнопку.

Application.CommandBars("MyPanel").Controls.Add

Далее он просит ввсести Type, ID, Before и т.д. о значении которых я могу только гадать (вот уже 2 часа маюсь :)

inq
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 185
Зарегистрирован: 12.04.2006 (Ср) 7:50
Откуда: 78

Сообщение inq » 15.08.2006 (Вт) 14:24

F1 писал(а):Type Optional Variant. The type of control to be added to the specified command bar. Can be one of the following MsoControlType constants: msoControlButton, msoControlEdit, msoControlDropdown, msoControlComboBox, or msoControlPopup.

Id Optional Variant. An integer that specifies a built-in control. If the value of this argument is 1, or if this argument is omitted, a blank custom control of the specified type will be added to the command bar.

Parameter Optional Variant. For built-in controls, this argument is used by the container application to run the command. For custom controls, you can use this argument to send information to Visual Basic procedures, or you can use it to store information about the control (similar to a second Tag property value).

Before Optional Variant. A number that indicates the position of the new control on the command bar. The new control will be inserted before the control at this position. If this argument is omitted, the control is added at the end of the specified command bar.



"Связка" кнопки с макросом - OnAction
подписи нет и не будет

Ostin
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 08.03.2006 (Ср) 8:21

Сообщение Ostin » 15.08.2006 (Вт) 14:44

И все же, как связать с определенным Sub'ом - непонятно...

inq
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 185
Зарегистрирован: 12.04.2006 (Ср) 7:50
Откуда: 78

Сообщение inq » 15.08.2006 (Вт) 14:48

Код: Выделить всё
Dim msBtn As CommandBarButton
   
    On Error Resume Next
    Application.CommandBars("MyCommandBar").Delete
    On Error GoTo 0
    Application.CommandBars.Add(Name:="MyCommandBar").Visible = True
    Set msBtn = Application.CommandBars("MyCommandBar").Controls.Add(Type:=msoControlButton)
    msBtn.FaceId = 366
    msBtn.Caption = "Button Caption"
    msBtn.OnAction = "module1.sub1"


И вообще в подфорум ВБА это надо бы...
подписи нет и не будет

Ostin
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 08.03.2006 (Ср) 8:21

Сообщение Ostin » 16.08.2006 (Ср) 11:33

inq
Спасибо большое! Ты гениален!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 48

    TopList