Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Listbox и Picture - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Listbox и Picture (Макросы Sub)
Listbox и Picture
Dмитрий Дата: Пятница, 29.11.2013, 11:05 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 9 ±
Замечаний: 40% ±

Excel 2010
Доброго времени суток !
Может кто-нибудь подскажет, как разрешить такую проблему?
На форме есть Listbox, в зависимости от выбранного номера в списке в углу появляется изображение (точечный рисунок (.bmp)).
[vba]
Код

If ListBox1.ListIndex = 0 Then
  With Image2
  .Height = 118: .Width = 144: .Left = -1: .Top = -1: .Visible = True
   End With
  Image1.Visible = False: Image3.Visible = False: Image4.Visible = False: Image5.Visible = False
  Image6.Visible = False: Image7.Visible = False
  End If
' и так далее
[/vba]
Файлы изображений лежат в папке локального диска. На форму залиты вручную в несколько Frame'ов
Проблема в том, что изображений много, и программа запускается невыносимо долго (если не зависнет)
Подскажите есть ли какой нибудь другой путь решения этой задачи? Возможно как-то поэтапно, программно прописывая путь к папкам, открывать доступ к изображениям, тем самым постепенно подгружать программу? (Если это не БРЕД)
Еще один огромный минус заключается в том, что при изменении какого-нибудь изображения в папках, его нужно опять вручную выбрать на форме, что изменения вступили в силу
Возможно ли что-нибудь подобное придумать???
 
Ответить
СообщениеДоброго времени суток !
Может кто-нибудь подскажет, как разрешить такую проблему?
На форме есть Listbox, в зависимости от выбранного номера в списке в углу появляется изображение (точечный рисунок (.bmp)).
[vba]
Код

If ListBox1.ListIndex = 0 Then
  With Image2
  .Height = 118: .Width = 144: .Left = -1: .Top = -1: .Visible = True
   End With
  Image1.Visible = False: Image3.Visible = False: Image4.Visible = False: Image5.Visible = False
  Image6.Visible = False: Image7.Visible = False
  End If
' и так далее
[/vba]
Файлы изображений лежат в папке локального диска. На форму залиты вручную в несколько Frame'ов
Проблема в том, что изображений много, и программа запускается невыносимо долго (если не зависнет)
Подскажите есть ли какой нибудь другой путь решения этой задачи? Возможно как-то поэтапно, программно прописывая путь к папкам, открывать доступ к изображениям, тем самым постепенно подгружать программу? (Если это не БРЕД)
Еще один огромный минус заключается в том, что при изменении какого-нибудь изображения в папках, его нужно опять вручную выбрать на форме, что изменения вступили в силу
Возможно ли что-нибудь подобное придумать???

Автор - Dмитрий
Дата добавления - 29.11.2013 в 11:05
nilem Дата: Пятница, 29.11.2013, 11:59 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Желательно бы примерчик вашего файла. Ну и несколько картинок к нему.


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеЖелательно бы примерчик вашего файла. Ну и несколько картинок к нему.

Автор - nilem
Дата добавления - 29.11.2013 в 11:59
Dмитрий Дата: Пятница, 29.11.2013, 12:28 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 9 ±
Замечаний: 40% ±

Excel 2010
Вот пример. Только изображений здесь немного и открывается быстро. У меня же до момента показания формы проходит много времени.
К сообщению приложен файл: 1590185.xlsb (75.2 Kb)
 
Ответить
СообщениеВот пример. Только изображений здесь немного и открывается быстро. У меня же до момента показания формы проходит много времени.

Автор - Dмитрий
Дата добавления - 29.11.2013 в 12:28
Саня Дата: Пятница, 29.11.2013, 12:43 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
оставь один image на форме и подгружай в него рисунок из файла:
[vba]
Код
image.Picture = LoadPicture(путь_к_файлу)
[/vba]
 
Ответить
Сообщениеоставь один image на форме и подгружай в него рисунок из файла:
[vba]
Код
image.Picture = LoadPicture(путь_к_файлу)
[/vba]

Автор - Саня
Дата добавления - 29.11.2013 в 12:43
nilem Дата: Пятница, 29.11.2013, 13:21 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
теперь я не успел :)

вот ссылка: http://rusfolder.com/38975447
распакуйте в отдельную папку, откройте ваш xlsb, нажмите "Заполнить список картинок", а потом "Показать форму" и кликайте в листбоксе


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Пятница, 29.11.2013, 13:21
 
Ответить
Сообщениетеперь я не успел :)

вот ссылка: http://rusfolder.com/38975447
распакуйте в отдельную папку, откройте ваш xlsb, нажмите "Заполнить список картинок", а потом "Показать форму" и кликайте в листбоксе

Автор - nilem
Дата добавления - 29.11.2013 в 13:21
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Listbox и Picture (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!