PictureBox в VBA

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

PictureBox в VBA

Сообщение uhm » 27.12.2004 (Пн) 12:55

Можно ли на форму в VBA (конкретно, в Экселе), вставить не Image, а PictureBox? Если да, то как?

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 27.12.2004 (Пн) 17:54

Можно через правую клавишу на панели элементов взять из дополнительных элементов, если конечно он там имеется.

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

Сообщение uhm » 28.12.2004 (Вт) 8:32

До этого места я уже дошел :) Нет его в списке Additional Controls. У меня стоит VB6, может быть, можно его как-то оттуда взять?
Быть... или не быть. Вот. В чём вопрос?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.12.2004 (Вт) 9:04

Напиши activex на vb6. Кинь на него picturebox и замапь все проперти picturebox на проперти usercontrol. Потом скомпилируй и подключай к экселю...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

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

Сообщение uhm » 28.12.2004 (Вт) 11:22

...простое и очевидное для всех, кроме вас...

Спасибо, это, похоже, действительно решение, но я раньше никогда в жизни не делал ActiveX-контролы. Собственно, я попробовал - сделать контрол у меня получилось, а вот "замапить" properties...

Если не сложно - объясни, как это делать, или кинь ссылочку.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.12.2004 (Вт) 12:05

Ну вот есть у пикчербокса проперть backcolor... Значит делай у юзерконтрола проперть backcolor, в которой пиши:
Код: Выделить всё
property get BackColor as long
backcolor=picture1.backcolor
end property
property let BackColor(byval c as long)
picture1.backcolor=c
end property

И так для каждой...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

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

Сообщение uhm » 28.12.2004 (Вт) 12:26

Большое спасибо!
Буду разбираться...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 28.12.2004 (Вт) 22:37

Ещё GSerg не упомянул, что аддин ActiveX Control Interface Wizard (Add-Ins -> Add-In Manager) позволяет мапить свойства автоматически, без написания кода самому.
Изображение

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

Сообщение uhm » 30.12.2004 (Чт) 10:25

Спасибо, удобная штука.


Вернуться в VBA

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

Сейчас этот форум просматривают: Google-бот, Mail.ru [бот] и гости: 61

    TopList