用Excel宏截图 Sub-google() Set objIE=CreateObject(“InternetExplorer.Application”) 网站=“www.google.com” 与奥布杰 .Visible=True .浏览网站 请稍等片刻。忙碌或。准备就绪状态4 Application.SendKeys“({1068})”,True 多芬特 环 激活“Internet Explorer” 活动表。粘贴 将shp变暗为形状 使用ActiveSheet 设置shp=.Shapes(.Shapes.Count) 以 上海高度=600 上海宽度=800 .文件.表格(0).提交 ”“退出 以 端接头

用Excel宏截图 Sub-google() Set objIE=CreateObject(“InternetExplorer.Application”) 网站=“www.google.com” 与奥布杰 .Visible=True .浏览网站 请稍等片刻。忙碌或。准备就绪状态4 Application.SendKeys“({1068})”,True 多芬特 环 激活“Internet Explorer” 活动表。粘贴 将shp变暗为形状 使用ActiveSheet 设置shp=.Shapes(.Shapes.Count) 以 上海高度=600 上海宽度=800 .文件.表格(0).提交 ”“退出 以 端接头,excel,vba,Excel,Vba,我用这段代码用Excel VBA宏截图。然而,这段代码截取了我整个屏幕的截图。我需要一个单独的网页截图。有人能帮我吗?PrtSc拍摄了整个桌面的截图。要获取当前应用程序窗口的屏幕截图,请使用Alt+PrtSc 非常感谢您的回复。它正在工作。我也有一个相同的代码问题。它是在网页完全加载之前截图。所以,我得到了一个空网页的截图。。如何更正此问题?代码中的循环应该已经等待页面加载。除非页面中有代码在页面本身已经完成加载后继续加载内容。我不知道等待后者的一般方法。谢谢你的回复。我正在寻找解决问题的办法。

我用这段代码用Excel VBA宏截图。然而,这段代码截取了我整个屏幕的截图。我需要一个单独的网页截图。有人能帮我吗?

PrtSc拍摄了整个桌面的截图。要获取当前应用程序窗口的屏幕截图,请使用Alt+PrtSc


非常感谢您的回复。它正在工作。我也有一个相同的代码问题。它是在网页完全加载之前截图。所以,我得到了一个空网页的截图。。如何更正此问题?代码中的循环应该已经等待页面加载。除非页面中有代码在页面本身已经完成加载后继续加载内容。我不知道等待后者的一般方法。谢谢你的回复。我正在寻找解决问题的办法。如果你发现什么,请告诉我。提前谢谢。
Sub google()
    Set objIE = CreateObject("InternetExplorer.Application")
    WebSite = "www.google.com"
    With objIE
        .Visible = True
        .navigate WebSite
        Do While .Busy Or .readyState <> 4
            Application.SendKeys "({1068})", True
            DoEvents
        Loop
        AppActivate "Internet Explorer"
        ActiveSheet.Paste

        Dim shp As Shape
        With ActiveSheet
            Set shp = .Shapes(.Shapes.Count)
        End With
        shp.Height = 600
        shp.Width = 800
        .Document.Forms(0).Submit
        '.Quit
    End With
End Sub
Application.SendKeys "%{1068}", True