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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2017, 09:43   #1
odeon16
Пользователь
 
Регистрация: 02.01.2017
Сообщений: 14
По умолчанию Вставка фото с сохранением пропорций и ограничением по длине или ширине

Доброго времени.
Подскажите господа - как подправить макрос.

У меня макрос вставляет фото - по событию Change, при изменении ячейки с адресом.
И при этом задает ширину и высоту картинки. В итоге она безобразно растягивается.
Код:
Sub foto()
On Error Resume Next
Sheets(1).Shapes.AddPicture _
        Filename:=zzz, _
        linktofile:=msoFalse, _
        savewithdocument:=msoCTrue, _
        Left:=lll, _
        Top:=ttt + 12.75, _
        Width:=300, _
        Height:=200
End Sub
Как сделать так, чтобы картинка была все же ограничена в размерах (по длине например) - но сохраняла пропорции.
Вложения
Тип файла: xls 7895.xls (33.0 Кб, 12 просмотров)
Тип файла: rar 1.rar (2.1 Кб, 8 просмотров)
odeon16 вне форума Ответить с цитированием
Старый 25.01.2017, 13:01   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Посмотрите готовое решение
http://excelvba.ru/programmes/PastePictures
там уже всё реализовано

А если сами хотите писать макрос, - надо вставлять на лист картинку без изменения размеров (или получать размеры картинки непосредственно из файла, без вставки),
потом вычислять ширину (основываясь на исходных размерах и нужной длине),
и масштабировать картинку после вставки

Либо второй вариант, - после вставки включаем у картинки сохранение пропорций (свойство LockAspectRation = true), и меняем длину (ширина сама изменится),
а потом подгоняем картинку по координатам под центр ячейки
EducatedFool вне форума Ответить с цитированием
Старый 10.02.2017, 08:33   #3
odeon16
Пользователь
 
Регистрация: 02.01.2017
Сообщений: 14
По умолчанию

Ясно.
Спасибо за ответ
odeon16 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка фото adward67 Microsoft Office Excel 1 13.06.2015 21:57
Вставка строк (с сохранением формулы) со смещением общего итога вниз DIMONRUS Microsoft Office Excel 10 07.08.2013 16:06
Создать новый компонент ТLabel с ограничением по длине текста ввода mila_f Компоненты Delphi 4 20.02.2012 19:57
Вставка таблиц в шаблон с выравниванием по ширине окна Polotenchik Microsoft Office Word 22 26.03.2010 22:07
Изменение пропорций рисунка, макрос laneon Microsoft Office Excel 4 12.02.2009 04:49