【问题标题】:Excel VBA to trigger a macro assigned to a shape clickExcel VBA触发分配给形状的宏单击
【发布时间】:2018-10-16 10:28:07
【问题描述】:

我们有另一家公司提供给我们的电子表格。 VBAProject 受保护,我不知道密码。 在工作表“Main”上有一个 RectangleRoundedCorners 形状,它分配了宏(“CREATE SAP JOB RUN LIST”)。

我们正在尝试使用 VBA 自动化我们的流程,但我们在触发“CREATE SAP JOB RUN LIST”宏时遇到了障碍。

我不知道宏在哪个模块中。由于 VBAProject 受到保护,我无法循环所有 VBA 组件。

由于收到错误消息(在尝试在我自己的工作簿中模拟调用之后),我怀疑宏可能位于“ThisWorkbook”模块中。

Application.Run workbookname!macroname 

不起作用:运行时错误“1004”无法运行宏“workbookname!macroname”。该工作簿中的宏可能不可用,或者所有宏都可能被禁用。

宏未被禁用。

我似乎无法直接用 VBA 调用宏,所以我希望可以模拟对形状的点击。我正在努力寻找合适的代码。

有人可以帮忙吗?

提前致谢

【问题讨论】:

  • 先解除保护比较容易。只需在此网站上进行搜索即可。
  • 正如@EvR 建议的那样-this 链接可能会有所帮助。

标签: vba


【解决方案1】:

尝试将 Shape 对象的 OnAction 属性传递给 Application.Run...

Application.Run Workbooks("Book1.xlsm").Worksheets("Sheet1").Shapes("Rectangle 1").OnAction

相应地更改对工作簿、工作表和形状的引用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多