vba вставить картинку в форму

VBA Excel. Свойство Picture элементов управления

Добавление изображений на элементы управления пользовательской формы. Свойство Picture. Привязка картинки в редакторе и из кода VBA Excel. Удаление изображения.

Свойство Picture элементов управления

Свойство Picture есть у пользовательской формы и некоторых элементов управления: CheckBox, CommandButton, Frame, Image, Label, OptionButton, ToggleButton. Оно позволяет отобразить на этих объектах изображение с расширением jpg, bmp, gif.

Синтаксис

Добавление изображений в редакторе VBA

Чтобы добавить картинку на форму или элемент управления в редакторе VBA Excel, необходимо в окне Properties выбранного объекта нажать кнопку с тремя точками в поле значений свойства Picture:

picture117

Откроется окно проводника, с помощью которого следует выбрать нужное изображение.

Картинка на элементе управления может использоваться вместо надписи или вместе с ней. За выравнивание изображения и положение надписи на объекте отвечает свойство PicturePosition. Подходящее значение свойства PicturePosition проще подобрать в окне Properties выбранного элемента управления.

Добавление изображений из кода VBA Excel

Пример кода VBA Excel, добавляющего надпись и изображение на элемент управления ToggleButton:

Источник

VBA Excel. Элемент управления Image

Элемент управления пользовательской формы Image, используемый в VBA Excel для добавления на форму изображения. Свойства элемента управления Image.

Элемент управления Image

Добавить изображение на пользовательскую форму можно и с помощью элемента управления Label, но качество, в некоторых случаях, может быть неудовлетворительным. На скриншоте ниже одинаковые изображения в формате «*. jpg» добавлены с помощью элемента управления Image – слева и Label – справа:

picture 296

Основное отличие элемента управления Image от элемента управления Label заключается в поведении изображения при уменьшении размеров Image и Label до размеров меньше размеров изображения:

Свойства элемента 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 при загрузке пользовательской формы:

Источник

Рисунки в пользовательских формах VBA

Элемент управления Image (рисунок) создается с помощью кнопки “Рисунок”. Он используется для отображения графических файлов. В таблице перечислены некоторые свойства, используемые для управления выводом изображения. Картинку в элемент управления Image можно вставить только программным путем.

Просмотр содержимого документа
«Рисунки в пользовательских формах VBA»

Свойства объекта Image.

Объект Image (рисунок)

Объект Image служит для размещения рисунка, загружаемого из графического файла.

Свойства объекта Image (рисунок)

Элемент управления Image (рисунок) создается с помощью кнопки “Рисунок”. Он используется для отображения графических файлов. В таблице перечислены некоторые свойства, используемые для управления выводом изображения. Картинку в элемент управления Image можно вставить только программным путем.

Практическая работа № 1 “Внедрение рисунка”

В этом примере рассмотрим внедрение объекта Image и присваивание этому объекту определенных свойств.

1. Создайте экранную форму.

2. Внедрите в созданную форму четыре объекта Image843079 1. Не обращайте внимание на расположение и размер внедренных первоначально объектов Image (свойства этих объектов будут установлены по умолчанию).

843079 2

843079 3

Рис. 1. Внедрение объектов Image в созданную форму

Но при этом постарайтесь придерживаться размеров формы и расположения пояснительных надписей к рисункам. Эти значения присвойте через окно свойств аналогично тому, как это показано в таблице.

843079 4

Присваивание объектам свойств будем производить программно.

3. Используя свойства объектов, разместите изображения так, как показано на примере (см. рис. 2):

в первом случае изображение пропорционально масштабируется так, чтобы целиком заполнить область объекта;

во втором случае изображение так же целиком заполняет область объекта, но масштабирование непропорциональное;

в третьем случае изображение размещается произвольно;

в четвертом случае область объекта покрывается мозаикой из рисунков.

Измените фон у объектов с подписью “Рисунок 1” и “Рисунок 3”. Во всех четырех случаях изображение выравнивается по верхнему левому краю.

843079 5

Рис. 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, определить характер ошибки и исправить ее.

843079 6

Рис. 3. Редактор Visual Basic немедленно реагирует на синтаксические ошибки

Чтобы исследовать процесс отладки на практике, нам необходима какая-нибудь программа, содержащая ошибку. В Практической работе № 5–2 “Отладка программ” рассматривается устранение ошибки при написании процедуры для объекта Image.

Практическая работа №2 “Отладка программ”

1. Откройте новую рабочую книгу.

2. Подготовьте экранную форму, представленную на рис. 4. Внедрите в созданную форму с помощью панели Toolbox объект Image 843079 1. Рисунок лучше внедрить небольшой.

ВНИМАНИЕ. Правильно описывайте путь к графическим файлам, которые внедряются программно в форму.

843079 8

Рис. 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. Вернемся в редакторе к созданной форме и выведем форму для работы, нажав клавишу 843079 9.

6. После появления формы на экране нажмем на кнопку “Измени надпись”. Так как в программе заложена ошибка, появится окно сообщения об ошибке (рис. 5) и мы попадем в редактор VBA.

843079 10

Рис. 5. Окно редактирования кода с окном сообщения об ошибке

7. Нажмите на кнопку “Debug” (отладка), и отладчик укажет, в какой строке у вас ошибка (рис. 6).

843079 11

Рис. 6. Окно редактирования кода с указанной ошибкой

8. Исправьте ошибку и нажмите на стандартной панели инструментов на кнопку 843079 12(“Продолжение”).

Тексты программ для кнопок CommandButton2, CommandButton3, CommandButton4, CommandButton5 представлены в таблице:

CommandButton2 (сдвинь рисунок вправо)

Private Sub CommandButton2_Click() Image1.PictureAlignment = 4 End Sub

CommandButton4 (измени цвет фона и формы)

Private Sub CommandButton4_Click()

UserForm2.BackColor = RGB(64, 0, 0)

Private Sub CommandButton3_Click()

CommandButton5 (измени рисунок флага и надпись)

Private Sub CommandButton5_Click()

Label1.Caption = «Флаг Англии»

Label1.Font.Name = «Arial Black»

9. После щелчка по кнопке “Измени надпись” форма приобретет вид, представленный на рис. 7.

843079 13

Рис. 7. Работа кнопки “Измени надпись”

10. После щелчка по кнопке “Сдвинь рисунок вправо” форма приобретет вид, представленный на рис. 8.

843079 14

Рис. 8. Работа кнопки “Сдвинь рисунок вправо”

11. После щелчка по кнопке “Мозаика” форма приобретет вид, представленный на рис. 9.

843079 15

Рис. 9. Работа кнопки “Мозаика”

12. После щелчка по кнопке “Смена флага и надписи” форма приобретет вид, представленный на рис. 10.

843079 16

Рис. 10. Работа кнопки “Смена флага и надписи”

Можно предусмотреть разные комбинации рисунков и надписей.

13. Сохраните свою работу.

Практическая работа № 3 “Работа с рисунком”

1. В редакторе MS Paint создайте рисунки. Например, такие, как показано на рис.11.

843079 17

Рис. 11. Примеры рисунков

2. Сохраните рисунки в своей папке или на диске C:\цв1.bmp, C:\цв2.bmp, C:\цв3.bmp.

3. В Excel создайте экранную форму и назовите ее “Цветок”. Внедрите в созданную форму рисунок и четыре кнопки. Кнопки назовите “Сцена1”, “Сцена2”, “Сцена3”, “ВЫХОД”. Используя свойства объектов, отформатируйте созданную форму. Форма может иметь вид, представленный на рис. 12.

843079 18

Рис. 12. Примерный вид формы

4. Тексты программ для кнопок представлены в таблице:

Источник

Добавление изображения на форму

Выбор и добавление изображения на форму по нажатию кнопки
имеется форма,которая будет добавлять информацию в файл txt. на ней требуется разместить.

Добавление изображения из бд на форму
вытаскиваю из бд список мебели. Furniture содержит поля Name и Image. нужно сделать что то подобное.

Добавление и вывод изображения в/из БД MySQL на форму
Может кто поможет мне в добавлении изображения в БД(и вообще как создать поле отвечающее за.

Добавление изображения во время заполнения новой записи в форму
ситуация такая, нужно добавить возможность добавление изображения в форму во время добавления новой.

У меня на «C:\Program Files\Microsoft Visual Studio\VB98»

Добавь DirListBox и увидишь.

Вложения

rar Проект1.rar (101.7 Кб, 43 просмотров)

tickДобавление изображения путем php не зная названия изображения
есть изображения в папке «images» как выложить все изображения на сайт не зная названия картинок.

Вывод изображения на форму
Умные люди подскажите пожалуйста мне как выводить изображение на форму, по выбранному номеру из.

Загрузка изображения на форму
как сделать, чтобы кнопку не было видно, а при нажатии кнопки, там появлялось изображение?

tickЗагрузка изображения в форму
Есть картинка,есть кнопка,есть вопрос. Как сделать чтобы при нажатии на кнопку показывалась.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • vba excel события формы
  • vba excel работа с формами