Элемент управления пользовательской формы Image, используемый в VBA Excel для добавления на форму изображения. Свойства элемента управления Image.
Image – это элемент управления пользовательской формы, предназначенный для отображения на форме изображения в формате *. bmp, *. gif, *. jpg, *. wmf, *. emf, *. ico, *. dib, *. cur.
Добавить изображение на пользовательскую форму можно и с помощью элемента управления Label, но качество, в некоторых случаях, может быть неудовлетворительным. На скриншоте ниже одинаковые изображения в формате «*. jpg» добавлены с помощью элемента управления Image – слева и Label – справа:
Основное отличие элемента управления Image от элемента управления Label заключается в поведении изображения при уменьшении размеров Image и Label до размеров меньше размеров изображения:
- изображение в элементе управления Image обрезается;
- изображение в элементе управления Label уменьшается с нарушением пропорций, подстраиваясь под новый размер элемента управления.
Изображение в элементе управления Image будет вести себя также, как в Label, если установить свойство Image.PictureSizeMode
равным fmPictureSizeModeStretch
.
Свойства элемента Image
Свойство | Описание |
---|---|
AutoSize | Автоподбор размера элемента управления Image под размер изображения. True – размер автоматически подстраивается под изображение. False – размер элемента управления определяется свойствами Width и Height (по умолчанию), а поведение изображения зависит от свойства PictureSizeMode. |
BackColor | Цвет заливки (фона) элемента управления Image, отображается при отсутствии изображения и на полях вокруг изображения. |
BackStyle | Задает стиль заливки (фона) элемента управления Image: fmBackStyleTransparent (0) – фон прозрачный, fmBackStyleOpaque (1) – фон непрозрачный (по умолчанию). |
BorderColor | Цвет рамки элемента управления. |
BorderStyle | Стиль рамки элемента управления. |
ControlTipText | Текст всплывающей подсказки при наведении курсора на изображение. |
Enabled | Возможность взаимодействия пользователя с элементом управления Image. True – взаимодействие включено, False – отключено. |
Height | Высота элемента управления. |
Left | Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления. |
Picture | Адрес добавляемого изображения. |
PictureAlignment | Выравнивание изображения на элементе управления Image. |
PictureSizeMode | Способ изменения размеров изображения в зависимости от размеров элемента управления Image. fmPictureSizeModeClip (0) – рисунок обрезается или добавляются поля (по умолчанию), fmPictureSizeModeStretch (1) – рисунок растягивается или сжимается с нарушением пропорций, заполняя собой всю площадь элемента управления Image, fmPictureSizeModeZoom (3) – рисунок растягивается или сжимается с сохранением пропорций и добавлением компенсирующих полей. |
PictureTiling | Задает размещение изображения мозаичным способом по всему элементу управления. True – изображение размещается мозаичным способом, False – изображение размещается обычным способом (по умолчанию). |
SpecialEffect | Определяет внешний вид элемента управления. |
Top | Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления. |
Visible | Видимость элемента управления Image. True – элемент управления отображается на пользовательской форме, False – скрыт. |
Width | Ширина элемента управления. |
Примеры добавления изображений
Пример 1
Добавление изображения на элемент управления Image при загрузке пользовательской формы:
Private Sub UserForm_Initialize() Me.Image1.Picture = LoadPicture(«C:ФотографииПриродаБерезовая роща.jpg») End Sub |
Пример 2
Добавление изображения на элемент управления Image по адресу, записанному в ячейку таблицы Excel:
Private Sub CommandButton1_Click() UserForm1.Image1.Picture = LoadPicture(Worksheets(«Лист1»).Cells(1, 6)) End Sub |
Свойства объекта Image.
Отладка программ.
Объект
Image (рисунок)
Объект Image
служит для размещения рисунка, загружаемого из графического файла.
Свойства
объекта Image (рисунок)
Элемент
управления Image (рисунок) создается с помощью кнопки “Рисунок”. Он
используется для отображения графических файлов. В таблице перечислены
некоторые свойства, используемые для управления выводом изображения. Картинку в
элемент управления Image можно вставить только программным путем.
Практическая работа № 1
“Внедрение рисунка”
В этом примере
рассмотрим внедрение объекта Image и присваивание этому объекту определенных
свойств.
1. Создайте
экранную форму.
2. Внедрите в
созданную форму четыре объекта Image.
Не обращайте внимание на расположение и размер внедренных первоначально
объектов Image (свойства этих объектов будут установлены по умолчанию).
Рис. 1. Внедрение объектов Image в созданную форму
Но при этом
постарайтесь придерживаться размеров формы и расположения пояснительных
надписей к рисункам. Эти значения присвойте через окно свойств аналогично тому,
как это показано в таблице.
Присваивание
объектам свойств будем производить программно.
3. Используя
свойства объектов, разместите изображения так, как показано на примере
(см. рис. 2):
в первом случае
изображение пропорционально масштабируется так, чтобы целиком заполнить область
объекта;
во втором случае
изображение так же целиком заполняет область объекта, но масштабирование
непропорциональное;
в третьем случае
изображение размещается произвольно;
в четвертом
случае область объекта покрывается мозаикой из рисунков.
Измените фон у
объектов с подписью “Рисунок 1” и “Рисунок 3”. Во всех четырех случаях
изображение выравнивается по верхнему левому краю.
Рис. 2. Четыре примера размещения рисунка
Программа для
кнопки “Свойства объекта Image”
Private Sub
CommandButton1_Click()
Rem Размещение объектов от левого края формы
Image1.Left = 25
Image2.Left = 225
Image3.Left = 25
Image4.Left = 225
Rem Размещение объектов от верхнего края формы
Image1.Top = 30
Image2.Top = 30
Image3.Top = 170
Image4.Top = 170
Rem Ширина объектов
Image1.Width = 160
Image2.Width = 160
Image3.Width = 160
Image4.Width = 160
Rem Высота объектов
Image1.Height = 85
Image2.Height = 85
Image3.Height = 85
Image4.Height = 85
Rem Согласование размера рисунка и размера объекта
Image1.PictureSizeMode = 3
Image2.PictureSizeMode = 1
Image3.PictureSizeMode = 0
Image4.PictureSizeMode = 0
Rem Размножение рисунка по всей поверхности объекта
Image4.PictureTiling = True
Rem Изменение цвета фона у двух объектов
Image1.BackColor = RGB(100, 100, 100)
Image3.BackColor = RGB(100, 50, 100)
Rem Применение эффектов к объектам
Image1.SpecialEffect = 1
Image2.SpecialEffect = 2
Image3.SpecialEffect = 3
Image4.SpecialEffect = 6
End Sub
4. Создайте
кнопку на листе Excel для вывода формы на экран.
5. Сохраните
свою работу.
Тестирование и отладка программ
Процесс
исправления ошибок называется отладкой.
Отладка программ
и обработка ошибок всегда выступает как часть процесса разработки. Если бы все
программировали идеально, то необходимость отладки программ и обработки ошибок
отпала бы сама собой: каждая создаваемая программа выполняла бы все требуемые
действия с первого раза. Как правило, такого не бывает, поэтому в большинстве
систем разработки имеются инструменты, с помощью которых можно решить проблемы,
возникающие в процессе программирования. В VBA также есть средства, которые
позволяют либо исключить ошибки при разработке, либо задать отклик на ошибки
при выполнении программ.
Отладка программ
и обработка ошибок — это не одно и то же, но они тесно связаны друг с другом.
Отладка
программ — это проверка и внесение исправлений в программу при ее разработке.
Отладка позволяет идентифицировать ошибки, допущенные при программировании.
Например, синтаксические ошибки в тексте программы, именах функций и переменных
или логические ошибки.
Обработка
ошибок — это задание реакции на ошибки, которые возникают во время
выполнения программы. Причиной ошибок могут быть как ошибки в самой программе,
так и другие обстоятельства, находящиеся вне сферы влияния программиста.
Например, отсутствие файлов, к которым происходит программное обращение, отказ
аппаратных средств или неправильные действия пользователя.
Невозможно предотвратить
возникновение всех ошибок, но следует стремиться к уменьшению их числа. В
маленькой программе довольно просто выявить ошибку. Однако по мере увеличения
размеров и сложности программ находить их становится все труднее. В таких
случаях необходимо пользоваться средствами отладки VBA.
Среда разработки
программ на VBA предоставляет пользователю современные удобные средства отладки
программы.
Предположим, что
уже написан код вашей процедуры. Следующий этап в создании любой процедуры —
тестирование написанного кода.
Тестирование — это процесс
выполнения процедуры и исследование всех аспектов ее работы.
Цель
тестирования — проверить правильность результатов выполнения процедуры и ее
реакцию на разнообразные действия пользователя.
Если во время
работы процедуры получены неверные результаты вычислений, непредвиденная
реакция на те или иные действия пользователя, либо вообще произошла остановка
выполнения, то это говорит о том, что в тексте программы имеются ошибки.
Все возможные ошибки можно
разделить на три вида:
1. Ошибки
компиляции. Возникают, если VBA не может интерпретировать введенный текст,
например, при использовании неправильного синтаксиса инструкции или задании
неверного имени метода или свойства. Некоторые ошибки компиляции обнаруживаются
при вводе инструкции, а другие — только перед выполнением программы. Данный тип
ошибок обычно просто идентифицировать и исправить, поскольку VBA выявляет их
автоматически, а сами ошибки очевидны.
2. Ошибки
выполнения. Возникают при выполнении программы, т.е. после успешной
компиляции. Причиной таких ошибок может быть отсутствие данных или неправильная
информация (например, данные, введенные пользователем). Ошибки выполнения, как
и ошибки компиляции, легко идентифицируются VBA. При этом выводится инструкция,
при выполнении которой произошла ошибка. Ошибки данного типа тяжелее устранить:
может понадобиться вывести значения переменных или свойств, а также другие
данные, которые влияют на успешное выполнение программы.
3. Логические
ошибки труднее всего заметить и устранить. Логические ошибки не
приводят к прекращению компиляции или выполнения. Однако они являются причиной
того, что программа не выдает желаемых результатов. Ошибки данного типа
идентифицируются путем тщательной проверки с помощью средств отладки VBA.
Компиляция — это процесс
преобразования программы, написанной на алгоритмическом языке, в язык машинных
кодов. Если в программе есть
синтаксические
ошибки, то процесс компиляции прекращается, строки с ошибкой закрашиваются
желтым цветом и выдается соответствующее сообщение. Для продолжения выполнения
программы необходимо исправить ошибку и нажать кнопку “Continue”► на
стандартной панели редактора VBA. Или прервать выполнение программы, нажав на
кнопку “Reset” ■, исправить ошибку в
программе, а затем заново запустить ее.
При обнаружении
ошибки компилятор выдает сообщение с указанием номера ошибки. В этом случае
полезно, воспользовавшись справочной системой редактора VBA, определить
характер ошибки и исправить ее.
Рис. 3. Редактор Visual Basic немедленно реагирует на синтаксические ошибки
Чтобы
исследовать процесс отладки на практике, нам необходима какая-нибудь программа,
содержащая ошибку. В Практической работе № 5–2 “Отладка программ”
рассматривается устранение ошибки при написании процедуры для объекта Image.
Практическая работа №2
“Отладка программ”
1. Откройте
новую рабочую книгу.
2. Подготовьте
экранную форму, представленную на рис. 4. Внедрите в созданную
форму с помощью панели Toolbox объект Image .
Рисунок лучше внедрить небольшой.
ВНИМАНИЕ!!!
Правильно описывайте путь к графическим файлам, которые внедряются программно в
форму.
Рис. 4. Форма для выполнения задания
3. Создайте новую процедуру для кнопки “Измени
надпись”.
4. Введите текст процедуры. В тексте намеренно сделаем
ошибку в свойстве Size (напишем Sie):
Private
Sub CommandButton1_Click()
Label1.Caption = «Флаг России«
UserForm2.Image1.Picture = LoadPicture(«C:FlgRUS.gif»)
Label1.Font.Sie = 14
End Sub
5. Вернемся в редакторе к созданной форме и выведем
форму для работы, нажав клавишу .
6. После
появления формы на экране нажмем на кнопку “Измени надпись”. Так как в
программе заложена ошибка, появится окно сообщения об ошибке (рис. 5)
и мы попадем в редактор VBA.
Рис. 5. Окно
редактирования кода с окном сообщения об ошибке
7. Нажмите на кнопку “Debug” (отладка), и отладчик
укажет, в какой строке у вас ошибка (рис. 6).
Рис. 6. Окно редактирования кода с указанной ошибкой
8. Исправьте ошибку и нажмите на стандартной панели
инструментов на кнопку (“Продолжение”).
Тексты программ для кнопок CommandButton2,
CommandButton3, CommandButton4, CommandButton5 представлены в таблице:
Объект |
Программа |
CommandButton2 (сдвинь рисунок вправо) |
Private |
CommandButton4 (измени цвет фона и формы) |
Private Image1.BackColor UserForm2.BackColor End |
CommandButton3 (мозаика) |
Private Image1.PictureTiling End Sub |
CommandButton5 (измени рисунок флага и надпись) |
Private Label1.Caption Label1.Font.Size Label1.Font.Name UserForm2.Image1.Picture LoadPicture(«C:FlgEng.gif») End Sub |
9. После щелчка по кнопке “Измени надпись” форма
приобретет вид, представленный на рис. 7.
Рис. 7. Работа кнопки “Измени надпись”
10.
После щелчка по кнопке “Сдвинь рисунок вправо” форма приобретет вид,
представленный на рис. 8.
Рис. 8. Работа кнопки “Сдвинь рисунок вправо”
11.
После щелчка по кнопке “Мозаика” форма приобретет вид, представленный на рис. 9.
Рис. 9. Работа кнопки “Мозаика”
12.
После щелчка по кнопке “Смена флага и надписи” форма приобретет вид,
представленный на рис. 10.
Рис. 10. Работа кнопки “Смена флага и надписи”
Можно предусмотреть
разные комбинации рисунков и надписей.
13.
Сохраните свою работу.
Практическая работа № 3 “Работа с рисунком”
1. В редакторе MS Paint создайте рисунки. Например, такие, как показано на рис.11.
Рис. 11. Примеры рисунков
2. Сохраните рисунки в своей папке или на диске C:цв1.bmp, C:цв2.bmp,
C:цв3.bmp.
3. В Excel создайте экранную форму и назовите ее “Цветок”. Внедрите в
созданную форму рисунок и четыре кнопки. Кнопки назовите “Сцена1”, “Сцена2”,
“Сцена3”, “ВЫХОД”. Используя свойства объектов, отформатируйте созданную форму.
Форма может иметь вид, представленный на рис. 12.
Рис. 12. Примерный вид формы
4. Тексты программ для кнопок представлены в таблице:
Объект |
Программа |
CommandButton1 Вставить C:цв1.bmp |
Private Sub CommandButton1_Click() UserForm1.Image1.Picture LoadPicture(«C:цв1.bmp») End Sub |
CommandButton2 Вставить рисунок C:цв2.bmp |
Private Sub CommandButton2_Click() UserForm1.Image1.Picture = LoadPicture(«C:цв2.bmp») End Sub |
CommandButton3 Вставить рисунок C:цв3.bmp |
Private Sub CommandButton3_Click() UserForm1.Image1.Picture = LoadPicture(«C:цв3.bmp») End Sub |
CommandButton4 Закрыть форму |
CommandButton4 Private Sub UserForm1.Hide End Sub |
Обратите внимание на описание пути к файлам, которые внедряются программно
в форму.
5. Запишите процедуру вызова данной формы и тоже назовите ее “Цветок”:
Public Sub Цветок()
UserForm1.Show
End Sub
6. На поле листа Excel вставьте рисунок и назначьте ему макрос “Цветок”.
Получится кнопка-рисунок (см. рис. 13).
Рис. 13. Назначение макроса для кнопки-рисунка
7. Проверьте работоспособность кнопки-рисунка. При нажатии на нее должна
появляться форма “Цветок”. При нажатии на кнопки: “Сцена1”, “Сцена2” и “Сцена3”
рисунок в форме меняется (см. рис. 14).
При нажатии на кнопку “ВЫХОД” форма скрывается с листа.
Рис. 14. Изменение рисунка в форме
8. Сохраните вашу работу.
Литература
1. Газета
«Информатика» Издательского дома «Первое сентября» № 5 2006
г.
На чтение 7 мин Просмотров 291 Опубликовано 06.02.2014
Элемент управления VBA Image отвечает за добавление на поверхность формы изображения. Сам компонент довольно просто, и все его свойства интуитивно понятны, поэтому, в этой статье я сосредоточусь только на написании кода.
У самого объекта Image VBA есть свойство Picture, которое хранит доступ к рисунку. Для загрузки изображения мы будем использовать функцию VBA LoadPicture, который в качестве параметра мы будем передавать путь к изображению.
Что бы показать пример использования компонента VBA Image проделаем следующие действия. Сначала войдите в редактор VBA (для быстроты, можно использовать комбинацию клавиш Alt + F11). Добавим в проект новую форму (меню InsertUserForm), назовем ее ImageForm (свойство Name). Также добавим в проект новый модуль и назовем его ImageModule (свойство Name).
В редакторе кода для модуля пропишем:
Sub ImageModule() ImageForm.Show EndSub
Тут мы прописываем процедуру ImageModule, которая предоставляет наш модуль. В теле процедуры мы говорим, что при вызове текущего макроса нужно показать форму с именем ImageForm.
Теперь надо отформатировать внешний вид формы. Добавим на поверхность компонент vba Image, под ним разместим компонент Label, а в самом низу разместим две кнопки (компонент CommandButton). Внешний вид формы можно увидеть на рисунке ниже.
Теперь настал самый интересный момент в плане программирования. В редакторе кода для формы пропишите следующий код:
' Глобальная переменная Dim i As Integer ' Процедура получения доступа к каталогу с файлами Private Sub GetFolders() Dim FSO As Object, Drive As Object, GetFiles As Object Dim j As Integer j = 1 ' формируем ссылку на объект FileSystemObject Set FSO = CreateObject("Scripting.FileSystemObject") ' получаем доступ к папке с рисунками Set Drive = FSO.GetFolder("C:WINDOWSWebWallpaper") ' VBA Image ' фрмируем коллекцию каталогов Set GetFiles = Drive.Files ' Если значение i больше количества файлов If i > GetFiles.Count Then i = i - 1 End If ' Если значение i меньше количества файлов If i < 1 Then i = i + 1 End If ' Начинаем перебор файлов For Each OFiles In GetFiles If j = i Then Image1.Picture = LoadPicture(OFiles.Path) Label1.Caption = OFiles.Path End If j = j + 1 Next End Sub Private Sub CommandButton1_Click() i = i - 1 Call GetFolders End Sub Private Sub CommandButton2_Click() ' VBA Image i = i + 1 Call GetFolders End Sub Private Sub UserForm_Initialize() CommandButton1.Caption = "Назад" CommandButton2.Caption = "Вперед" Label1.Caption = "Путь к рисунку" ImageForm.Caption = "Работа с объектом VBA Image" End Sub
В самом начале мы объявляем переменную i, которая является глобальной. Она нужна нам как счетчик, и будет хранить количество нажатий на кнопки. Процедура GetFolders отвечает за доступ к каталогу C:WINDOWSWebWallpaper, в котором хранятся файлы-рисунки, используемые операционной системой для обоев. В вашем случае, путь может отличаться. В цикле for each происходит обработка всех файлов в заданной папке, там же происходит проверка условия – мы сравниваем значение переменной i и переменной j (данная переменная хранит номер обрабатываемого файла). По сути, условие нужно для того, что бы мы могли пролистывать рисунки из папки.
Процедуры CommandButton1_Click и CommandButton2_Click отвечают за обработку нажатий на кнопки, расположенные на форме. В обеих процедурах происходит вызов процедуры GetFolders(), разница лишь в том, что в CommandButton1_Click происходит уменьшение значения i, а в CommandButton2_Click – происходит увеличение значения переменной i.
Процедура UserForm_Initialize выполняется сразу при запуске формы, тут мы прописали заголовок формы, названия кнопок и начальное значение для метки (Label).
В итоге, при запуске макроса перед нами появится форма, при нажатии на кнопки “Вперед” и “Назад” происходит пролистывание рисунков из заданной папки, сам рисунок будет отображаться на поверхности формы (компонент VBA Image). Метка будет хранить путь к рисунку.
Стоит обратить внимание, что я не редактировал параметры отображения (размеры), при желании, вы можете отредактировать код по собственному усмотрению.
Элемент управления Image
августа 31, 2015 admin
Пожалуй, самый простой из элементов управления. Позволяет отобразить на форме рисунок в одном из распространенных форматов, который будет реагировать на щелчок мышью (а может просто использоваться для украшения формы).
Рис. 1 Элемент управления Image на панели ToolBox
Рис. 2 Элемент управления Image на форме
У самого объекта Image VBA есть свойство Picture, которое хранит доступ к рисунку. Для загрузки изображения мы будем использовать функцию VBA LoadPicture, который в качестве параметра мы будем передавать путь к изображению.
Что бы показать пример использования компонента VBA Image добавим в проект новую форму (меню InsertUserForm), назовем ее ImageForm (свойство Name), также добавим в проект новый модуль и назовем его ImageModule (свойство Name).
В редакторе кода для модуля пропишем:
Sub ImageModule()
ImageForm.Show
End Sub
Тут мы прописываем процедуру ImageModule, которая предоставляет наш модуль. В теле процедуры мы говорим, что при вызове текущего макроса нужно показать форму с именем ImageForm.
Добавим на поверхность компонент vba Image, под ним разместим компонент Label, а в самом низу разместим две кнопки (компонент CommandButton). Внешний вид формы можно увидеть на рисунке ниже.
Теперь настал самый интересный момент в плане программирования. В редакторе кода для формы пропишите следующий код:
‘ Глобальная переменная
Dim i As Integer
‘ Процедура получения доступа к каталогу с файлами
Private Sub GetFolders()
Dim FSO As Object,
Drive As Object, GetFiles As Object
Dim j As Integer
j = 1
‘ формируем ссылку на объект FileSystemObject
Set FSO = CreateObject(“Scripting.FileSystemObject”)
‘ получаем доступ к папке с рисунками
Set Drive = FSO.GetFolder(“C:WINDOWSPictures”)
‘ VBA Image
‘ фрмируем коллекцию каталогов
Set GetFiles = Drive.Files
‘ Если значение i больше количества файлов
If i > GetFiles.Count Then
i = i – 1
End If
‘ Если значение i меньше количества файлов
If i < 1 Then
i = i + 1
End If
‘ Начинаем перебор файлов
For Each OFiles In GetFiles
If j = i Then
Image1.Picture = LoadPicture(OFiles.Path)
Label1.Caption = OFiles.Path
End If
j = j + 1
Next
End
Sub Private Sub CommandButton1_Click()
i = i – 1
Call GetFolders
End Sub
Private Sub CommandButton2_Click
‘ VBA Image
i = i + 1
Call GetFolders
End Sub
Private Sub UserForm_Initialize()
CommandButton1.Caption = “Назад”
CommandButton2.Caption = “Вперед”
Label1.Caption = “Путь к рисунку”
ImageForm.Caption = “Работа с объектом VBA Image”
End Sub
В самом начале мы объявляем переменную i, которая является глобальной. Она нужна нам как счетчик, и будет хранить количество нажатий на кнопки. Процедура GetFolders отвечает за доступ к каталогу C:WINDOWSPictures, в котором хранятся файлы-рисунки, используемые операционной системой для обоев. В вашем случае, путь может отличаться. В цикле for each происходит обработка всех файлов в заданной папке, там же происходит проверка условия – мы сравниваем значение переменной i и переменной j (данная переменная хранит номер обрабатываемого файла). По сути, условие нужно для того, что бы мы могли пролистывать рисунки из папки.
Процедуры CommandButton1_Click и CommandButton2_Click отвечают за обработку нажатий на кнопки, расположенные на форме. В обеих процедурах происходит вызов процедуры GetFolders(), разница лишь в том, что в CommandButton1_Click происходит уменьшение значения i, а в CommandButton2_Click – происходит увеличение значения переменной i.
Процедура UserForm_Initialize выполняется сразу при запуске формы, тут мы прописали заголовок формы, названия кнопок и начальное значение для метки (Label).
В итоге, при запуске макроса перед нами появится форма, при нажатии на кнопки “Вперед” и “Назад” происходит пролистывание рисунков из заданной папки, сам рисунок будет отображаться на поверхности формы (компонент VBA Image). Метка будет хранить путь к рисунку.
Excel VBA UserForm Image
Image is one of the UserForm control. You can select and drag Image on the UserForm. You can select and drag Image on the UserForm. Image control embeds a picture such as a jpg, jpeg, gif, png, bitmap, etc. It can be used on the UserForm. You can see how it works and more details about Image Control.
- Load VBA Image_Control on the UserForm
- Add Dynamic Image_Control on the UserForm Using VBA
- Delete Image_Control on the UserForm using VBA
VBA Image_Control on the UserForm
Please find more details about VBA ActiveX Image_Control on the UserForm.
-
- Go To Developer Tab and then click Visual Basic from the Code or Press Alt+F11.
- Go To Insert Menu, Click UserForm. Please find the screenshot for the same.
-
- Drag the Image_control on the Userform from the Toolbox. Please find the screenshot for the same.
-
- Click on the image_control properties.
- On the left side find ‘Picture’ from the available properties of the control.
- On the right side click on that, and select image from the source.
- On the left side find ‘PictureSizeMode’ from the available properties of the control.
- On the right side, select ‘1 – frmPictureSiseModeStretch’ from the available list.
- Now, Click ‘F5’ to see the output.
- Now, you can see the following output as shown below in the screen shot.
Add dynamic Image_Control on the UserForm using VBA
Please find the following steps and example code, it will show you how to add dynamic Image_control on the userform.
-
- Add Image and CommandButton on the userform from the toolbox.
- Right click on the CommandButton, click properties
- Change the CommandButton caption to ‘Create_Image ’
- Double click on the CommandButton
- Now, it shows the following code.
Private Sub CommandButton1_Click() End Sub
-
- Call the below procedure named ‘Add_Dynamic_Image ’ and find the below procedure to run.
Private Sub CommandButton1_Click() Call Add_Dynamic_Image End Sub
Procedure to call in the CommandButton:
Sub Add_Dynamic_Image() 'Add Dynamic Image and assign it to object 'Img' Set Img = UserForm2.Controls.Add("Forms.Image.1") With Img 'Load Picture to Image Control .Picture = LoadPicture("C:Image Excel ActiveX Control Object.jpg") ‘Change Image Path here 'Align the Picture Size .PictureSizeMode = fmPictureSizeModeStretch 'Image Position .Left = 50 .Top = 10 End With End Sub
-
- Now, click F5 to run the macro, click ‘Create_Image ’ button to see the result.
- You can see the created dynamic Image_control which is shown in the following screen shot.
output:
Delete Image_Control on the UserForm using VBA
Please find the below code, it will show you how to delete or remove the control on the UserForm. In the below example, its deleting the Image named ‘New Image’ which is on the UserForm named ‘UserForm4’. We can use Remove method to delete the controls which are created during run time. Controls which are created during design time cannot be deleted using this method. Please find the below example and screen shots for better understand.
Code 1: Adding control During Run Time
Private Sub CommandButton1_Click() 'We can use Add method to add the new controls on run time Set lblBtn = Me.Controls.Add("Forms.Image.1") With lblBtn .Top = 20 .Left = 40 .Name = "lblNew1" End With MsgBox "New Image Control Added" End Sub
Please find the below screen shot for your reference for the above macro and its output.
When we click on Add Command Button:
Code 1: Deleting or Removing Image_control which is created during run time.
Private Sub CommandButton2_Click() 'We can use Remove method to delete the controls which are created during run time 'Note: Controls which are created on design time cannot be deleted using this method Me.Controls.Remove ("lblNew1") MsgBox "Image Control Deleted" End Sub
Please find the below screen shot for your reference for the above macro and its output.
When we click on Delete Command Button:
A Powerful & Multi-purpose Templates for project management. Now seamlessly manage your projects, tasks, meetings, presentations, teams, customers, stakeholders and time. This page describes all the amazing new features and options that come with our premium templates.
Save Up to 85% LIMITED TIME OFFER
All-in-One Pack
120+ Project Management Templates
Essential Pack
50+ Project Management Templates
Excel Pack
50+ Excel PM Templates
PowerPoint Pack
50+ Excel PM Templates
MS Word Pack
25+ Word PM Templates
Ultimate Project Management Template
Ultimate Resource Management Template
Project Portfolio Management Templates
-
-
- In this topic:
-
- VBA Image_Control on the UserForm
- Add dynamic Image_Control on the UserForm using VBA
-
- Procedure to call in the CommandButton:
-
- Delete Image_Control on the UserForm using VBA
VBA Reference
Effortlessly
Manage Your Projects
120+ Project Management Templates
Seamlessly manage your projects with our powerful & multi-purpose templates for project management.
120+ PM Templates Includes:
Effectively Manage Your
Projects and Resources
ANALYSISTABS.COM provides free and premium project management tools, templates and dashboards for effectively managing the projects and analyzing the data.
We’re a crew of professionals expertise in Excel VBA, Business Analysis, Project Management. We’re Sharing our map to Project success with innovative tools, templates, tutorials and tips.
Project Management
Excel VBA
Download Free Excel 2007, 2010, 2013 Add-in for Creating Innovative Dashboards, Tools for Data Mining, Analysis, Visualization. Learn VBA for MS Excel, Word, PowerPoint, Access, Outlook to develop applications for retail, insurance, banking, finance, telecom, healthcare domains.
Page load link
3 Realtime VBA Projects
with Source Code!
Go to Top