VBA Selenium“类未注册”- 80040154

Posted

技术标签:

【中文标题】VBA Selenium“类未注册”- 80040154【英文标题】:VBA Selenium "class not registered"- 80040154 【发布时间】:2020-06-07 00:27:13 【问题描述】:

我是一个新手,试图实现 selenium 来选择网站上的按钮。看完这个教程 youtube guide

我从 Github 下载了 SeleniumBasic 并添加了对 VBA 的引用。

https://github.com/florentbr/SeleniumBasic/releases/tag/v2.0.9.0

在运行宏时,我收到一条错误消息“类未注册 80040154”。

1) 安装 chromedriver 会解决问题吗?

ChromeDriver - WebDriver for Chrome

2) 我使用的是 Windows 10 和 chrome,但该代码旨在供多个用户使用,使用不同的操作系统。它适用于 chrome 上的所有操作系统吗? (我知道每个浏览器都需要不同的驱动程序)。

3) 我必须选择路径 "C:\Users\ *Username\AppData\Local\SeleniumBasic" 吗? 在每个用户的 PC 中手动将 ChromeDriver 和 SeleniumBasic 安装到此路径将是一件麻烦事。

4)我想我想使用方式 1(使用 GUID)以编程方式添加 SeleniumBasic 参考 How to add a reference programmatically 与Determine the File Path or GUID to a VBA Reference Library 为了避免在每次安装中重复引用。

【问题讨论】:

【参考方案1】:

    下载 ChromeDriver 或 firefox webdriver。

    检查您是否匹配计算机的系统架构:32 与 32 以及 64 与 64。

    像这样选择webdriver的补丁:"C://*user*//folder//folder//folder"

【讨论】:

【参考方案2】:

我建议你使用 Selenium+java 来自动化你的东西。因为 VBA 是 Visual Basic for Applications,它在 excel、word 等内部运行......即在 Windows 机器中。

因此,要在 Linux 机器 中运行 VBA 宏,您需要先安装一个名为 'Wine' 的软件。 Mac 系统支持 VBA,但你在 windows 机器上编写的代码在 Mac 上无法完美运行。您可能需要针对 Mac 修改代码。

Java 独立于平台。因此,如果您使用它,那么您可以在任何操作系统中运行您的代码。此外,与 VBA 编辑器相比,在 Eclipse IDE(用于 Java 开发的著名 IDE 之一)中自动化和调试代码非常容易。

您可以点击以下链接进行详细设置。

Step 1: Setup selenium in your machine

Step 2: Run your first chrome automation

Step 3: Export your code as jar file for other users

【讨论】:

我不懂JAVA。我可以在不了解 JAVA 的情况下使用 Eclipse 运行 VBA 代码吗? 不,你不能跑。 Eclipse 只是一个开发环境,您需要在其上编写代码。如果您仍然想使用 VBA,您可以继续使用。但是,它不会像您预期的那样在所有操作系统中工作。您将花费大部分时间在代码维护上。

以上是关于VBA Selenium“类未注册”- 80040154的主要内容,如果未能解决你的问题,请参考以下文章

CoCreateInstance 返回“类未注册”

类未注册错误

Metro Style App MFT“类未注册”错误

类未注册 sql server management studio

COM 异常:尝试创建 ADOX.Catalog 时出现“类未注册”

仅在运行单元测试时出现 OLE DB 异常“类未注册”