Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2010, 09:42   #1
Even
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 45
По умолчанию И опять про вставку картинок

Добрый день, знатоки. Не подскажите, можно ли сделать так, что бы при нажатии кнопки на странице, все картинки, из определённой папки, (название картинок каждый раз новое) вставали только в определённые ячейки, не хоотичнок, как обычно.
Вложения
Тип файла: rar Вставка картинок.rar (944.6 Кб, 25 просмотров)
Even вне форума Ответить с цитированием
Старый 14.04.2010, 09:50   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Картинок всегда только три, или может быть больше?
Вставку производить в один столбец?
Объединять ячейки обязательно? Или вставку производить только в заранее подготовленные объединённые ячейки?
Или, может, просто увеличивать высоту строк, в которые будут вставляться картинки?
Что делать, если объединённых ячеек меньше, чем картинок?
Почему между кратинками разное расстояние по вертикали? (5 и 6 строк соответственно)
Куда помещать четвертую картинку (если таковая будет)?
Картинки подгонять по ширине, по высоте, или растягивать (непропорционально) под размер ячейки?
EducatedFool вне форума Ответить с цитированием
Старый 14.04.2010, 10:06   #3
Even
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 45
По умолчанию

Во вложении пример. А вообще картинок будет порядка десяти (поразному). Вставка в один столбец. Ячейки объдинянь не обязательно (будет бланк). Растояние между строками будет одинаковое (4 строки). Подгонять картинки надо (я бы сделал).
Even вне форума Ответить с цитированием
Старый 14.04.2010, 10:24   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Попробуйте такой вариант:



(замените свой файл моим)

Вот весь код:

Код:
Sub Main()
    On Error Resume Next
    ' там же, где и этот файл, в подпапке "Картинки"
    ПутьКПапкеСКартинками = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "Картинки\")

    Application.ScreenUpdating = False: msg = ""
    Dim sh As Worksheet: Set sh = ActiveSheet
    Очистка    ' очистка всех ячеек листа от прежнего содержимого
    Dim coll As New Collection
    Filename = Dir(ПутьКПапкеСКартинками & "*.jpg")
    While Filename <> ""
        coll.Add ПутьКПапкеСКартинками & Filename
        Filename = Dir
    Wend

    Dim ra As Range: Application.ScreenUpdating = False
    Set ra = [b4:e4]    ' место для первой картинки
    For Each Filename In coll
        ВставитьКартинку ra, Filename
        Set ra = ra.Offset(5)
    Next
    Application.ScreenUpdating = True
End Sub

Sub Очистка()
    Dim sha As Shape: Application.ScreenUpdating = False
    For Each sha In ActiveSheet.Shapes
        If sha.Type = msoPicture Then sha.Delete
    Next
    ActiveSheet.UsedRange.EntireRow.AutoFit
End Sub

Sub ВставитьКартинку(ByRef cell As Range, ByVal Pic As String)
    On Error Resume Next
    Dim ph As Picture: Set ph = cell.Parent.Pictures.Insert(Pic)
    ph.Top = cell.Top: ph.Left = cell.Left: k = ph.Width / ph.Height
    ph.Width = cell.Width: ph.Height = ph.Width / k
    cell.EntireRow.RowHeight = ph.Height
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 14.04.2010, 23:04   #5
Even
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 45
Хорошо

Спасибо, о великий Гуру.
Even вне форума Ответить с цитированием
Старый 27.10.2010, 09:46   #6
nikitan95
 
Регистрация: 27.10.2010
Сообщений: 3
По умолчанию

Доброго)

Пожалуйста, помогите со следующей ситуацией: надо было составить БД автомашин с их картинками. Сделал в двух листах. В первом - общий список со всеми техн.характеристиками (в т.ч. картинки), а во-втором просмотр, через выпадающий список (выбирается машина с госномером, а остальные поля автоматом заполняются через функцию ВПР). Все работает путем, а вот как вставить показать картинки соответственно но машинам, ну никак мне не удалось. Помогите, пожалуйста, прошу. Желательно без макросов.

Заранее благодарный -
Нишон)
nikitan95 вне форума Ответить с цитированием
Старый 27.10.2010, 10:52   #7
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Может это тебе поможет
Вложения
Тип файла: rar Выбор фото.rar (126.0 Кб, 39 просмотров)
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 27.10.2010, 11:42   #8
nikitan95
 
Регистрация: 27.10.2010
Сообщений: 3
По умолчанию

alex77755 спасибо конечно, но файл поврежден((
nikitan95 вне форума Ответить с цитированием
Старый 27.10.2010, 11:47   #9
nikitan95
 
Регистрация: 27.10.2010
Сообщений: 3
По умолчанию

alex77755, извиняюсь, открыл но я действовал именно по этой статье) по спасибо за сочувствие...
nikitan95 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
опять про мониторинг txt файлов... zander Microsoft Office Excel 0 05.08.2009 09:08
Опять про скрытие строк по заданному критерию aval Microsoft Office Excel 4 30.06.2009 12:39
Опять про кризис vasek123 Свободное общение 32 13.03.2009 16:56
Опять про гистограммму artemavd Общие вопросы Delphi 10 15.07.2008 11:44
опять про формы в html... Kitt Работа с сетью в Delphi 3 13.05.2008 09:05