【发布时间】:2020-11-07 01:27:17
【问题描述】:
我的 PC 上安装了 Microsoft Office 365 Business,并尝试运行 Access VBA 来创建 Excel 对象。这是我正在使用的 Access VBA 语法
Dim xl As Object, wb As Object, ws As Object, ch As Object
Set xl = CreateObject("Excel.Application")
但是,它会点击CreateObject 行并抛出下图,但仅在我运行 Office 365 商业版的 PC 上。如果我在运行 Office 2010 的计算机上运行相同的语法,它会完全按照应有的方式执行并创建没有错误的 Excel 对象。
为了能够使用Microsoft Office 365 Business 运行此语法,我必须进行哪些更改?
【问题讨论】:
-
要使用
Excel.Application运行 ActiveX,需要以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Application。这指向CLSID。你能检查这是否存在吗?对我来说使用Microsoft Office 365 ProPlus确实如此,所以CreateObject("Excel.Application")works。如果它不存在,重新安装 Office 可能会有所帮助。但也许它根本没有提供Microsoft Office 365 Business?我还没有找到有关此的详细信息。也许问Microsoft? -
@AxelRichter - 查看我的编辑,我有一个类似但不完全一样的密钥。请指教。
-
试试
CreateObject("Excel.Application.16")。 -
@AxelRichter - 使用“Excel.Application.16”现在可以工作,但并不理想。我正在使用后期绑定,以便在 2007 - 2016 年运行的计算机上执行语法。我有一种感觉,如果我添加 .16 会限制它到运行 Office 2016 的计算机...
-
你说的没错,16 指向的是当前版本。因此,您缺少通用注册表项
Excel.Application。您可以手动插入它并让它指向相同的CLSID。但我不知道 为什么 它不见了。您是否尝试过重新安装 Office?
标签: excel ms-access vba office365