Excel(64bit)での OleCreatePictureIndirect

API(OleCreatePictureIndirect)を64bitのExcelで動確していてハマったのでおしらせ。

DLLがみつからないエラーになったので海外サイトなど覗いてみると
なんかDLLが変更になったようでした。

“olepro32” → “oleaut32”

宣言を置いておきますね。


Private Type PicBmp
    Size As Long
    Type As Long
    hBmp As LongPtr
    hPal As LongPtr
    Reserved As Long
End Type

Private Type GUID
    Data1 As Long
    Data2 As Integer
    Data3 As Integer
    Data4(7) As Byte
End Type

Private Declare PtrSafe Function OleCreatePictureIndirect Lib "oleaut32" (PicDesc As PicBmp, _ 
                                                                          RefIID As GUID, _ 
                                                                          ByVal fPictureOwnsHandle As LongPtr, _
                                                                          IPic As IPicture) As Long

ABOUTこの記事をかいた人

はてなブックマークで驚愕の1600越えを記録した伝説が今明らかに! エクセル方眼紙 四天王の1人(ほぼ最弱)窓の杜大賞2014 大賞受賞! Excelを便利にする250以上の機能を体系化したアドインはこちらです。