I might be off on the wrong track altogether with this suggestion but nothing
ventured, nothing gained. I’ll explain the method in the interactive mode and
then you can automate it from there if you think it will do what you want.
I have previously copied data as pictures to the clipboard for inserting
into other documents by building a copy of the required data in an unused
area of the spreadsheet or even another sheet in the workbook.
Then select the required data including added titles etc and hold the Shift
Key down and select Edit->Copy Picture->Appearance and Format. You can then
paste the picture anywhere you like.
Having told you how to do this in the interactive mode, simply record a
macro to get the syntax for automating.
Regards,
OssieMac
"avi" wrote:
>
> Hello,
>
> I have an application that uses the following function to create a
> picture to the clipboard. I am not familiar with this kind of API
> programming. What i want to do is to add some text or an image to the
> image that the function create (For Example "DEMO ONLY"). How can it
> be done within the function itself or separately? Thanks a lot
>
> Private Function CreatePicture(ByVal hPic As Long, ByVal hPal As Long,
> ByVal lPicType) As IPicture
> Dim R As Long, uPicInfo As uPicDesc, IID_IDispatch As Guid, IPic
> As IPicture
> Const PICTYPE_BITMAP = 1
> Const PICTYPE_ENHMETAFILE = 4
> With IID_IDispatch
> .Data1 = &H7BF80980
> .Data2 = &HBF32
> .Data3 = &H101A
> .Data4(0) = &H8B
> .Data4(1) = &HBB
> .Data4(2) = &H0
> .Data4(3) = &HAA
> .Data4(4) = &H0
> .Data4(5) = &H30
> .Data4(6) = &HC
> .Data4(7) = &HAB
> End With
> With uPicInfo
> .Size = Len(uPicInfo)
> .Type = IIf(lPicType = CF_BITMAP, PICTYPE_BITMAP,
> PICTYPE_ENHMETAFILE)
> .hPic = hPic
> .hPal = IIf(lPicType = CF_BITMAP, hPal, 0)
> End With
>
> R = OleCreatePictureIndirect(uPicInfo, IID_IDispatch, True, IPic)
> Set CreatePicture = IPic
> End Function
>
> Avi
>
>
|