【问题标题】:Instantiate and use a user defined vba object using win32com使用 win32com 实例化并使用用户定义的 vba 对象
【发布时间】:2021-08-14 17:27:35
【问题描述】:

我在工作簿中有一个名为 CHouse 的类模块。

' Class CHouse
Public pAddress As String
Public pOwner As String

我想使用 Python 中的 win32com 创建和使用此类的对象。为此,我可以编写一个返回对象的函数并使用 Excel COM 对象上的 Application.Run 方法运行该宏。

有没有更直接的方法来实例化和使用上面提到的类?我假设我需要启动 Excel 实例并打开工作簿才能上课。例如,我可以使用 Excel 对象模型中的方法来创建对象吗?我正在寻找类似如何使用 Sheets.Add 方法创建新工作表或使用 win32com.client.Dispatch("Scripting.Dictionary") 的新字典。

我正在使用Python以这种方式访问​​Excel。

【问题讨论】:

    标签: python excel com


    【解决方案1】:

    有没有更直接的方法来实例化和使用上面提到的类?我假设我需要启动 Excel 实例并打开工作簿才能上课。例如,我可以使用 Excel 对象模型中的方法来创建对象吗?

    运行 VBA 宏的唯一可能方法是使用 Excel Application 类的 Run 方法。您可以创建一个新的 Excel 实例并以编程方式打开所需的工作簿。

    【讨论】:

    • 我知道这一点。我试图了解是否可以在不运行宏的情况下实例化对象。例如,我可以通过在 Sheets 集合上使用 Add 方法在我的工作簿中实例化一个新工作表。另外,我可以使用 win32com.client.Dispatch("Scripting.Dictionary") 实例化一个字典。
    • 你到底想实例化什么对象?
    • 查看更新后的帖子,以获取类模块的示例。
    • 没有宿主应用程序就无法实例化 VBA 例程。
    • 那是否意味着我可以使用 Excel COM 对象呢?
    猜你喜欢
    • 2013-03-02
    • 1970-01-01
    • 2013-04-19
    • 2020-10-22
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    相关资源
    最近更新 更多