PDA

View Full Version : [SOLVED] Print Userform



axmed.cm
04-18-2019, 01:01 AM
Dear All,

Greatings...

I am new to this forum, Is there a way i can print a userform?

Thanks
Ahmed

大灰狼1976
04-18-2019, 01:08 AM
Hi Ahmed!

UserForm.PrintForm 'You need to change the form name based on the actual situation.

Dave
04-20-2019, 05:33 AM
Not sure if this helps, but if you have the userform visible, you can select ctrl-alt-print screen to copy the userform image which you can then paste to a Word document and then print. Dave

Logit
04-20-2019, 07:59 AM
.
Paste this into your UserForm. It will copy the form image to the active sheet. Then you can print from there.



Option Explicit


'Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
' bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
'Private Declare PtrSafe Sub keybd_event Lib "User32" _
' (ByVal bVk As Byte, ByVal bScan As Byte, _
' ByVal dwFlags As Long, ByVal dwExtraInfo As LongPtr)

#If VBA7 Then
Private Declare PtrSafe Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Long, ByVal dwExtraInfo As LongPtr)
#Else
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
#End If



Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12 '''


Private Sub AltPrintScreen()
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End Sub
Private Sub CommandButton1_Click()
Call AltPrintScreen
DoEvents
Application.Wait Now + TimeSerial(0, 0, 1)
Worksheets("Sheet1").Range("B3").PasteSpecial
Unload Me
End Sub

axmed.cm
04-20-2019, 12:36 PM
Thank you all for your help.

Logit
04-20-2019, 12:45 PM
.
You are welcome.