【发布时间】:2018-10-01 12:38:16
【问题描述】:
我想在 excel 上创建一个 VBA 宏,单击按钮将打开浏览器(chrome 或 safari)登录到网站,提取所需的浮点值,然后使用该值填充工作表中的给定单元格。
网上有关于如何使用 Internet Explorer 实现此目的的示例,但这在 Mac 上不可用。我也看过使用 Selenium 的指南,但这似乎不适用于 mac。
javascript 本身类似于(在某个网站上打开浏览器后):
document.getElementById("username").value = "username"
document.getElementById("password").value = "password"
document.getElementsByClassName("button")[0].click()
value = parseFloat(document.getElementsByClassName("value")[1].innerText.slice(1))
【问题讨论】:
-
所以我建议用另一种语言编写程序,然后用 VBA 执行它,如下所示:stackoverflow.com/a/12320294/2446254 我的首选是带有 puppeteer 的 node.js,但你可以使用任何东西! (您可能很难快速了解这一切是如何完成的)
-
考虑一下 python 和 xlwings。我相信有一个适用于 mac 2016 或更高版本的插件。 docs.xlwings.org/en/stable/addin.html
-
@QHarr 你不能在带有 xlwings 的 mac 上的 python 函数中返回值
-
@PaddyRoddy 谢谢。我不知道。
-
PSA 即使 Mac 上的 xlwings 不支持 UDF,仍然可以运行处理电子表格的 Python 代码。
标签: javascript excel vba macos web-scraping