|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.10.2010, 15:09 | #1 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 45
|
загрузить картинку с листа Excel в image на форме
Формирую листы отчета
вместе с данными на листе в определенной ячейке .range("o1") прикрепляется изображение. программно открываю отчет данные загружаются в форму, в форме есть пустой image нужно чтоб из известной ячейки в image загружалось изображение! как будет выглядеть код? провел такой эксперимент если в листе на картинке сделать CTRL+C(копировать) а потом открыть редактор vba, выбрать мой image и для него в поле picture(свойства) сделать CTRL+V (вставить) то картинка вставляется в image и в поле picture появляется надпись (Metafile) вместо привычного (Bitmap) как это реализовать кодом? |
20.10.2010, 00:51 | #2 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 45
|
сам и отвечу.
выгружаем картинку в темп винды, а затем ее оттуда берем. Private Declare Function OpenClipboard Lib "user32.dll" (ByVal hwnd As Long) As Long Private Declare Function CloseClipboard Lib "user32.dll" () As Long Private Declare Function GetClipboardData Lib "user32.dll" (ByVal wFormat As Long) As Long Private Declare Function CopyEnhMetaFile Lib "gdi32" Alias "CopyEnhMetaFileA" (ByVal hemfSrc As Long, ByVal lpszFile As String) As Long Const CF_ENHMETAFILE As Long = 14 Sub GetPictures() Dim PShape As Shape, hStrPtr As Long For Each PShape In ActiveSheet.Shapes If PShape.Type = msoPicture Then PShape.CopyPicture If Not CBool(OpenClipboard(0)) Then MsgBox "Не удалось открыть буфер" GoTo NextSh End If hStrPtr = GetClipboardData(CF_ENHMETAFILE) If Not CBool(hStrPtr) Then MsgBox "Не удалось получить дескриптор" GoTo CloseClip End If If Not CBool(CopyEnhMetaFile(hStrPtr, "C:" & "\" & "WINDOWS" & "\" & "Temp" & "pic" & hStrPtr & ".jpg")) Then MsgBox "Не удалось создать файл" Else Image1.Picture = LoadPicture("C:" & "\" & "WINDOWS" & "\" & "Temp" & "pic" & hStrPtr & ".jpg") Image1.Picture.PictureSizeMode = 1 GoTo CloseClip End If CloseClip: CloseClipboard NextSh: End If Next End Sub |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как загрузить картинку из интернета | пауэрлифтинг | Работа с сетью в Delphi | 6 | 02.08.2010 16:49 |
Загрузить картинку по URL в RichView | Shouldercannon | Общие вопросы Delphi | 4 | 23.06.2010 13:26 |
как загрузить в paintbox картинку? | blackstersl | Общие вопросы Delphi | 7 | 05.06.2009 18:20 |
Как загрузить картинку? | Editor | Работа с сетью в Delphi | 11 | 15.07.2008 23:13 |
из интернета картинку в имедж загрузить? | Лёка | Работа с сетью в Delphi | 4 | 13.01.2008 14:35 |