Visual Basic: Статьи


Автор статьи: Беседин Игорь

Как сохранить в файл картинку, находящуюся в буфере обмена?

    Не раз ко мне поступал вопрос как это сделать, и я предлагаю такое решение:

Dim ClipPicture As IPictureDisp
Dim FileName As String
FileName = "C:\my" 'Имя файла без расширения
'Проверка: действительно ли в буфере обмена находится BMP
If Clipboard.GetFormat(vbCFBitmap) Then
Set ClipPicture = Clipboard.GetData(vbCFBitmap)
SavePicture ClipPicture, FileName & ".bmp"
'DIB
ElseIf Clipboard.GetFormat(vbCFDIB) Then
Set ClipPicture = Clipboard.GetData(vbCFDIB)
SavePicture ClipPicture, FileName & ".dib"
'WMF
ElseIf Clipboard.GetFormat(vbCFMetafile) Then
Set ClipPicture = Clipboard.GetData(vbCFMetafile)
SavePicture ClipPicture, FileName & ".wmf"
'EMF
ElseIf Clipboard.GetFormat(vbCFEMetafile) Then
Set ClipPicture = Clipboard.GetData(vbCFEMetafile)
SavePicture ClipPicture, FileName & ".emf"
End If

    Вы можете оформить этот код как процедуру, как подпрограмму - как хотите.

При любом воспроизведении этой статьи (и других статей с этого сайта) ставьте ссылку на сайт www.igoryksoft.narod.ru