我想编写一个宏来点击IE11中打印预览窗口中的打印图标(Alt + P)。 我想过使用 FindWindow,FindWindowEx,SendMessage和PostMessage函数。 但是当我检查窗口信息时,似乎没有单击打印图标的按钮。Print Preview Window Info
无论我在窗口中单击,它都只显示Class中的InternetExplorer_TridentDlgFrame。那么我该如何点击打印图标呢?
我不想使用Sendkeys或根据位置执行鼠标点击,因为我将在不同的系统中使用此宏。
那么有没有合适的方法呢?任何想法都会非常有用。提前谢谢。
答案 0 :(得分:0)
试试这段代码
详情请见https://msdn.microsoft.com/en-us/library/aa752117(v=vs.85).aspx
Option Explicit
Sub printIE()
Const OLECMDID_PRINT = 6 ' declarations needed for late binding only if mnemonics are desired in ExecWB command
Const OLECMDID_PRINTPREVIEW = 7
Const OLECMDEXECOPT_DODEFAULT = 0
Const OLECMDEXECOPT_PROMPTUSER = 1
Const OLECMDEXECOPT_DONTPROMPTUSER = 2
Const OLECMDEXECOPT_SHOWHELP = 3
Dim IE As Object ' late binding
' Dim IE As InternetExplorer ' early binding ... reference microsoft internet controls
Set IE = CreateObject("InternetExplorer.Application")
' IE.Visible = True
IE.navigate ("google.co.in")
Do Until IE.ReadyState = 4
Loop
IE.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DONTPROMPTUSER
' IE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
End Sub