不是打印表格内容,是打印VBA窗体内容。。。
追答Private Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Private Const VK_LMENU = &HA4
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim wshTemp As Worksheet
DoEvents
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
DoEvents
ThisWorkbook.Worksheets.Add
ActiveSheet.Name = "Temp"
Set wshTemp = ThisWorkbook.Worksheets("Temp")
With wshTemp
.Paste
.PrintOut
End With
Application.DisplayAlerts = False
ThisWorkbook.Worksheets("Temp").Delete
Application.DisplayAlerts = True
End Sub
看这段程序像是把内容复制到excel表格里面去打呢?我的窗体上不是表格内容啊,是框架和文本框什么的。。。没有直接打印的函数或者指令么?
追答是把窗体的截图放在Excel里面然后打印的。如果你的VS版本比较高,里面不是有打印机对象吗。
本回答被提问者采纳