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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2009, 10:53   #1
Gregul
Новичок
Джуниор
 
Регистрация: 05.06.2009
Сообщений: 2
По умолчанию фото в комментарии

Есть фото в комментарии к ячейке.
Как его скопировать в форму (объект image).
Нужен код на VBA. Как згрузить из файла я знаю. А вот как из примечания к ячейке достать фото и поместить в форму ?
Gregul вне форума Ответить с цитированием
Старый 08.06.2009, 10:57   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Как его скопировать в форму (объект image)
Только через файл.
Сначала сохраняем во временный файл, потом читаем из него.

Можно попробовать без файла (используя WinAPI), но кода будет раз в 30 больше...
EducatedFool вне форума Ответить с цитированием
Старый 08.06.2009, 12:20   #3
Gregul
Новичок
Джуниор
 
Регистрация: 05.06.2009
Сообщений: 2
По умолчанию

А как выгрузтьб в файл фото из примечания ?
Код можешь наюросать ?

EducatedFool, подскажи, как выгрузить во временный файл на VBA, плиз.

Загрузка фото в примечание к ячейке из файла:
x = ThisWorkbook.Path & Application.PathSeparator & "1.jpg"
With Activecell.AddComment
With .Shape
.Height = 200
.Width = 200
.Fill.UserPicture x
End With
End With

А как сделать обратную задачу, т.е. выгрузить фото из примечания к ячейке в файл ? Помогите срочно !!!

Последний раз редактировалось EducatedFool; 08.06.2009 в 12:52. Причина: пользуемся кнопкой ПРАВКА
Gregul вне форума Ответить с цитированием
Старый 08.06.2009, 12:51   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Нужный код есть здесь:
http://www.programmersforum.ru/showp...47&postcount=5

Использовать его можно примерно так: (пример в файле)
Код:
    Range("a1:a3").CopyPicture , xlBitmap
    Me.Image1.Picture = LoadPicture(Clip2File)
Или так:
Код:
    ActiveSheet.Shapes(1).CopyPicture , xlBitmap
    Me.Image1.Picture = LoadPicture(Clip2File)
Однако, если вместо Range("a1:a3").CopyPicture , xlBitmap
поставить cell.Comment.Shape.CopyPicture , xlBitmap
(что по сути то же самое), картинка из комментария не копируется
(поскольку в комментарии картинка расположена не в объекте Shape, а в виде текстуры, и, соответственно, хранится в файле в другом формате)

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

PS: зато теперь я знаю, как вытащить картинку из объекта Shape на листе...
Вложения
Тип файла: rar Из примечания на форму.rar (46.0 Кб, 32 просмотров)

Последний раз редактировалось EducatedFool; 08.06.2009 в 14:41.
EducatedFool вне форума Ответить с цитированием
Старый 17.07.2009, 17:17   #5
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

С Вашего позволения, господа, вмешаюсь в тему. ,Если кому еще интересно.
Картинку из примечания скопировать можно без применения API, а все тем же CopyPicture.
Код:
    Range("A1").Comment.Visible = True
    Range("A1").Comment.Shape.CopyPicture xlScreen, xlBitmap
    Range("G1").PasteSpecial
    Range("A1").Comment.Visible = False
Просто прежде чем копировать, необходимо примечание сделать видимым.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 17.07.2009, 17:21   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
С Вашего позволения, господа, вмешаюсь в тему. ,Если кому еще интересно.
Приветствую, Дима! Добро пожаловать к нам на форум.
Вмешивайся в любые темы сколько угодно - всегда рады твоим советам

PS: А что случилось с Планетой?
EducatedFool вне форума Ответить с цитированием
Старый 17.07.2009, 17:25   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Картинку из примечания скопировать можно без применения API, а все тем же CopyPicture.
Код:
Range("A1").Comment.Visible = True
А вот про этот нюанс я не подумал...
Пытался долго и безуспешно скопировать картинку из невидимого примечания...

PS: Кстати, такая же ерунда и с копированием изображения диапазона ячеек.
Пока не включишь application.ScreenUpdating=True , ничего не копируется.
Могли же ведь сделать нормально...
EducatedFool вне форума Ответить с цитированием
Старый 17.07.2009, 17:34   #8
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
Сообщение

Привет, Игорь.
Планета, чего-то заглохла... Причину пока не знаю(владелец сайта пока не ответил на письмо).
Вот и подумал - а не зайти ли мне в гости?
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 17.07.2009, 17:37   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Вот и подумал - а не зайти ли мне в гости?
Заходи, всегда рады.
А лучше оставайся навсегда
EducatedFool вне форума Ответить с цитированием
Старый 17.07.2009, 17:41   #10
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
А лучше оставайся навсегда
Заманчивое предложение.
Думаю, что действительно останусь.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимы комментарии!!! Танюшаа Помощь студентам 2 04.04.2009 06:32
Комментарии к коду ELL Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 09.03.2009 16:01
Комментарии к коду Juhn Паскаль, Turbo Pascal, PascalABC.NET 6 24.12.2007 20:29
Комментарии к коду Ярослав Помощь студентам 4 23.11.2007 16:57