excel - 截图谷歌地图并粘贴到 Excel 文档 VBA
问题描述
我有一个已经搜索纬度和经度并粘贴到我的工作表的代码,它运行良好。我正在寻找一种方法来获取该纬度和经度,加载谷歌地图,然后截取谷歌地图页面的屏幕截图或将地图嵌入 Excel。
在下面的代码中,我有一个代码已经为任何输入地址加载了谷歌地图,但我不知道如何截取地图的屏幕截图(最好没有页面侧面的输入信息)或将地图嵌入到Excel。底部的额外代码用于来自 USGS 网站的请求/响应,该网站提取某个位置的官方地震信息,但不应影响代码的顶部。
请注意,如果可能的话,我希望这只是地图的静态屏幕截图。如果可能的话,我不想在多个桌面上安装 Google 地球以便能够将交互式地图嵌入到工作表中。
Option Explicit
Public Sub Seismicgrab()
Dim browser As New ChromeDriver
Dim URL As String
Dim ws As Object
Dim xmlhttp As New MSXML2.XMLHTTP60
browser.Get "http://www.google.com/maps?q=" & Range("H13").Value
browser.Wait 5000
Cells(19, 13).Value = browser.URL
browser.Close
URL = Range("M24").Value
xmlhttp.Open "GET", URL, False
xmlhttp.Send
Worksheets("Title").Range("M25").Value = xmlhttp.responseText
End Sub
解决方案
您可以使用对象的 TakeScreenshot 方法
browser.TakeScreenshot.SaveAs ".....jpg" '<== put your path and file name here
为了获得更大的灵活性,例如裁剪,请考虑切换语言并使用以下任何一种方法:
如何使用 Selenium Webdriver 捕获特定元素而不是整个页面的屏幕截图?
此外,我相信使用标准 VBA 和 API 调用可以截取屏幕截图然后裁剪图像。
推荐阅读
- ubuntu - SVN 删除命令 "svn: E205001: Try 'svn help delete' 获取更多信息"
- permissions - Hasura中基于不同表中的值的自定义行选择权限
- node.js - Gitlab CI/CD 命令 npm version prerelease --preid test 生成 129 NPM 错误
- javascript - React-Calendar-TimeLine 是否可以更改标题文本的颜色?
- javascript - 在具有多个页面的表格内刷新后修复位置
- google-data-studio - Google Data Studio:星期几显示为整数,而不是日期名称
- javascript - 当我们在 JavaScript 中导出 new Foo() 时,根据什么规则我们知道它是一个单例?(如果我们使用 webpack)
- java - 无法从整数中获取枚举值
- javascript - 有没有办法检测一个字符串,它的每一侧都有几个特定字符之一?
- ios - 允许自适应单元格扩展以填充 GridView (SwiftUI) 中的高度