VBA-使用.ExecWB打印WebForm的第二页

VBA-使用.ExecWB打印WebForm的第二页,vba,internet-explorer,printing,webforms,Vba,Internet Explorer,Printing,Webforms,我正在使用Object.ExecWB以VBA代码打印网页。具体来说,我使用的是这一行(即“Application.InternetExplorer”对象): 在打印页面时,它会按其应做的操作,但是,它不会打印正确的页面 该网页是一个具有相同URL的webform,并且我所拥有的代码能够正确地到达我想要打印的正确页面(表单的第二个“页面”或“屏幕”),但是该命令仍然打印第一个页面 如果我一行一行地浏览代码,它会打印出正确的页面,然而,当我让它自己翻页时,它只打印第一页,即使我可以清楚地看到IE在打

我正在使用Object.ExecWB以VBA代码打印网页。具体来说,我使用的是这一行(即“Application.InternetExplorer”对象):

在打印页面时,它会按其应做的操作,但是,它不会打印正确的页面

该网页是一个具有相同URL的webform,并且我所拥有的代码能够正确地到达我想要打印的正确页面(表单的第二个“页面”或“屏幕”),但是该命令仍然打印第一个页面

如果我一行一行地浏览代码,它会打印出正确的页面,然而,当我让它自己翻页时,它只打印第一页,即使我可以清楚地看到IE在打印前导航到第二页

我曾尝试在代码中加入sleep命令,但没有效果。有人有什么想法吗

为了清晰起见,这里是我正在尝试的一些代码片段(代码在IE.document上使用with语句):


我最终向Word发送了一个打印屏幕,并打印了Word文档。有点复杂,但最终效果很好


很抱歉,我没有代码来让这个工作,但它是从以前的工作

我最后向Word发送了一个打印屏幕并打印了Word文档。有点复杂,但最终效果很好


很抱歉,我没有代码来让这个工作,但它是从以前的工作

您是否考虑过使用JavaScript隐藏第一个页面的内容,然后恢复可见性?如果这种解决方法不合适,您可以利用打印模板:Thank@QZSupport-这是去年的一个项目。我最终向Word发送了一个打印屏幕,并打印了Word文档。有点复杂,但最终效果很好。您是否考虑过使用JavaScript隐藏第一页的内容,然后恢复可见性?如果这种解决方法不合适,您可以利用打印模板:Thank@QZSupport-这是去年的一个项目。我最终向Word发送了一个打印屏幕,并打印了Word文档。有点费解,但最终效果很好。
Const OLECMDID_PRINT = 6
Const OLECMDEXECOPT_DONTPROMPTUSER = 2
IE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
   'this gets to the correct form page
   .getElementsByName("in_1060_1").item(0).Value = "1"
   .parentWindow.setCursorPosition "400", "HATSForm" 
   .parentWindow.ms "[enter]", "HATSForm"

    IEWait IE 'calls a sub that sleeps when IE is busy or not in readystate
    Sleep 5000

    'I then hit the 'OK' button to get to the 2nd page where the info I need to print is
    .parentWindow.ms "[enter]", "HATSForm"

    'yet it still prints out the first page! Ugh!
    Const OLECMDID_PRINT = 6
    Const OLECMDEXECOPT_DONTPROMPTUSER = 2
    IE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER