2015-06-22 177 views
1

我想打印在用戶窗體上顯示的圖像。Excel VBA 2013打印圖像

frame1.Picture =的LoadPicture(SPATH & xPicture & 「.JPG」)

SPATH是將圖像的存儲位置的完整路徑。這顯示圖片很好。現在我想能夠打印它。是否有代碼從一個用戶窗體執行此操作,或者是否存在通過文件位置打印它的vba代碼?

感謝 萊斯

回答

0

一種選擇是通過shell命令來調用Windows打印對話框。

例子:(全碼)

Option Explicit 

Private Declare Function apiShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (_ 
ByVal hwnd As Long, _ 
ByVal lpOperation As String, _ 
ByVal lpFile As String, _ 
ByVal lpParameters As String, _ 
ByVal lpDirectory As String, _ 
ByVal nShowCmd As Long) _ 
As Long 

Private Sub CommandButton1_Click() 
    Dim MyPicFile As String: MyPicFile = "C:\Users\PortlandRunner\Pictures\excel.jpg" 
    Call apiShellExecute(Application.hwnd, "print", MyPicFile, vbNullString, vbNullString, 0) 
End Sub 

Private Sub UserForm_Initialize() 
    Dim spath As String 
    spath = "C:\Users\PortlandRunner\Pictures\excel.jpg" 
    Image1.Picture = LoadPicture(spath) 
End Sub 

形式:

enter image description here

點擊按鈕打開Windows辦公打印對話框:

enter image description here

+0

美麗。非常感謝。完美工作。 –

+0

你知道我該如何爲這張圖片添加一個標題,例如標識場景或jpg文件名嗎? –

+0

好問題,我最初的嘗試並不成功。我建議發佈一個新問題,因爲我可能沒有時間回到這一段時間。 –