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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.02.2009, 16:25   #1
AnatolSh
 
Регистрация: 16.02.2009
Сообщений: 4
По умолчанию Макрос. Отображение картинки

Помогите!!! Очень большая проблема в связи с нехваткой времени на чтение документации

Дано:
1. есть строка с каким-то текстом отображающим свойство предмета
2. строк очень много
3. каждому предмету присвоено его изображение
4. сейчас переход на это изображение осуществляется по гиперссылке, которая открывает его в IE во весь экран.

Необходимо:
1. Лучшее.
Хотелось бы, чтобы рядом со строкой, а может и в статическом окне появлялось изображение.
2. Худшее.
Если есть возможность открыть картинку в окне IE строго по ее размеру. (к сожалению от IE уйти не могу, нет возможности перестроить все компы, где будет просмотрен этот файл)

PS
Если, есть возможность, то киньте готовый код, если в лом, то хотя-бы по функциям (чтобы не читать лишнего)
AnatolSh вне форума
Старый 16.02.2009, 16:35   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
1. Лучшее.
Хотелось бы, чтобы рядом со строкой, а может и в статическом окне появлялось изображение.
Подойдёт вариант, когда при выделении на листе ячейки, ссылающейся на картинку (не той ячейки, где гиперссылка, а любой другой в той же строке), будет появляться форма указанного Вами размера (к примеру, 640 * 480), в которой будет отображаться нужная картинка?

При выделении другой ячейки картинка тут же поменяется. При выделении ячейки в пустой строке форма в картинкой исчезнет.

Если такой вариант устроит, то прикрепите к сообщению архив, содержащий:
1) файл Excel, содержащий ячейки с гиперссылками (хотя бы 5 - 10 строк)
2) папку с картинками, на которые ссылаются гиперссылки.

Поясните, в какой части экрана требуется отображать форму (справа внизу, слева вверху, возле ячейки, ...)

PS: Делается всё это очень просто, но на создание примера файла и на подготовку картинок уйдет много времени... поэтому неохота
Будет пример файла с картинками - будет и код.
И никаких больше IE во весь экран

Последний раз редактировалось EducatedFool; 16.02.2009 в 16:37.
EducatedFool вне форума
Старый 16.02.2009, 17:02   #3
AnatolSh
 
Регистрация: 16.02.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Подойдёт вариант, когда при выделении на листе ячейки, ссылающейся на картинку (не той ячейки, где гиперссылка, а любой другой в той же строке), будет появляться форма указанного Вами размера (к примеру, 640 * 480), в которой будет отображаться нужная картинка?
Именно так я и представлял, но только размера картинки хватит и вполовину меньше
Вложения
Тип файла: rar Example.rar (212.9 Кб, 97 просмотров)
AnatolSh вне форума
Старый 16.02.2009, 17:05   #4
AnatolSh
 
Регистрация: 16.02.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Поясните, в какой части экрана требуется отображать форму (справа внизу, слева вверху, возле ячейки, ...)
Совсем забыл, картинка справа (если нет затруднений, середина картинки, напротив строки с параметрами

Заранее очень благодарен
AnatolSh вне форума
Старый 16.02.2009, 18:11   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот что пока получилось: (чувак с молотком в руках выглядит впечатляюще )




К сожалению, пока не знаю, как выровнять картинку относительно ячейки - пример такого кода мне где-то встречался, но сейчас найти его не смог... а реализовывать его с нуля долго (надо учитывать множество нюансов)

Вот весь макрос:
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    Dim cell As Range: Set cell = Target.EntireRow.Cells(2)
    If cell.Hyperlinks.Count > 0 Then    ' строка с гиперссылкой
        PicPath = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, cell.Hyperlinks(1).Address)
        If Dir(PicPath) <> "" Then    ' картинка найдена
            With F
                .Picture = LoadPicture(PicPath)
                .Width = F.Picture.Width / 33: .Height = F.Picture.Height / 33
                .Caption = cell.Previous: .Show
            End With
        End If
    Else    ' пустая строка
        Unload F
    End If
End Sub
Посмотрите вложение.
Пощелкайте на заполненных ячейках с столбцах Код и Описание
При выделении ячейки в пустой строке (таковой считается строка, во второй ячейке которой отсутствует гиперссылка) форма исчезает с экрана.


========== (добавлено спустя несколько месяцев) ================
Новую (более функциональную) версию этого макроса можно найти здесь: http://excelvba.ru/ShowPictures
(реализован вывод нескольких изображений, и т.д.)
Вложения
Тип файла: rar Вывод картинок на форму при выделении ячеек.rar (218.1 Кб, 324 просмотров)

Последний раз редактировалось EducatedFool; 25.03.2011 в 00:41.
EducatedFool вне форума
Старый 17.02.2009, 15:09   #6
AnatolSh
 
Регистрация: 16.02.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
При выделении ячейки в пустой строке (таковой считается строка, во второй ячейке которой отсутствует гиперссылка) форма исчезает с экрана.
Огромное спасибо!
И этого с головой для чернового варианта хватит.
AnatolSh вне форума
Старый 17.11.2009, 12:07   #7
wenden
Новичок
Джуниор
 
Регистрация: 17.11.2009
Сообщений: 2
По умолчанию

Добрый день,не нашел на форуме подходящего решения есть книга с 4
колонками в трех текст, в 4 имя картинки, как сделать чтобы в пятой была сама картинка?
Т.е. считывалась информация с 4 и автоматом в 5 появилась картинка с папки, как должна выглядить строка в 4 чтобы получилось.
Много картинок через копипаст затруднительно..
Да размер картинок одинаков.

Последний раз редактировалось wenden; 17.11.2009 в 12:08. Причина: добавил про размер
wenden вне форума
Старый 17.11.2009, 16:22   #8
wenden
Новичок
Джуниор
 
Регистрация: 17.11.2009
Сообщений: 2
По умолчанию

Посмотрел на http://www.programmersforum.ru/showp...1&postcount=13 красивое решение,есть ли варианты как то его изменить, чтобы данные считывались с определенной колонки в экселе,надо для работы в школе- журнал для школьников, т.е. имя картинки бралось со столбца,а не с папки.
wenden вне форума
Старый 17.11.2009, 16:22   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
не нашел на форуме подходящего решения
Ну так создавайте новую тему, прикрепляйте примеры файлов, и ждите ответа.

Закрыто.
EducatedFool вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение скрытых файлов и папок и отображение розширения всех файлов beegl Общие вопросы Delphi 10 14.12.2008 22:02
Размер Image изменяется на размер картинки, а сама она рисуется на области первой картинки RPGer Мультимедиа в Delphi 6 20.10.2008 19:54
Отображение текста Hirhufa Microsoft Office Word 2 27.06.2008 15:42
Отображение рисунков Witaliy Компоненты Delphi 0 26.05.2008 17:33
Отображение StatusBar mutabor Компоненты Delphi 6 17.07.2007 18:06