2016-09-15 63 views
0

我有一張圖片加載到用戶窗體中包含的圖像控件中。我想複製userform圖片控件中的圖片並將其粘貼到電子表格中。我已經找到了在電子表格中創建OLEObject的方法,並以這種方式移動圖像here,但是我創建了多個電子表格,並且我不想要所有額外的對象。將圖片從用戶窗體複製到電子表格

如果我進入VBA編輯器,進入用戶窗體,進入圖像控件,並使用我的鼠標,選擇圖片屬性中的(位圖)並複製它,我可以將圖片粘貼到電子表格中。

如果我使用宏記錄器來做同樣的事情,代碼自然只包含選擇和粘貼方法。如果我在代碼中引用相同的圖片屬性,我所能找到的就是句柄。

我已經搜索了很多,我相信,我無法找到任何通過編程方式獲取句柄並在VBA中粘貼圖片的方法。我對VBA相當陌生,API層面的工作遠遠超出了我目前的能力。

+0

如何圖片進入擺在首位的圖像控制? –

+0

你是否有示例代碼,你可以分享它不工作?有人在用戶窗體中顯示圖像控件名稱,目標工作表單元格? – dbmitch

+0

@ Tim Williams,圖片被手動加載到用戶表單中。圖片可以根據需要更改,因此表單是本地資源,而不是寫入存儲在網絡上的圖像的路徑。 – pondersome

回答

0

你可以從那裏到一個臨時文件和負載輸出:

Private Sub UserForm_Activate() 

    TransferToSheet Me.Image1, Sheet1 

End Sub 

Private Sub TransferToSheet(picControl, sht As Worksheet) 
    Const TemporaryFolder = 2 
    Dim fso, p 
    Set fso = CreateObject("scripting.filesystemobject") 
    p = fso.GetSpecialFolder(TemporaryFolder).Path & "\" & fso.gettempname 
    SavePicture picControl.Picture, p 
    sht.Pictures.Insert p 
    fso.deletefile p 
End Sub 
+0

令人驚歎!非常感謝。這完美的作品! – pondersome

相關問題