在远程桌面上使用VBA运行Excel加载项功能

时间:2017-04-26 08:07:30

标签: excel vba excel-vba excel-addins

我有一个场景,我们需要在服务器上打开许多电子表格,通过添加按钮更新每个工作簿上的大量工作表。

因此,用户打开远程桌面,打开电子表格,转到表格x,转到加载项菜单并单击按钮。此按钮更新工作表上的数据,需要几秒钟。然后他们打开表格并重复。最终所有工作表都会更新,用户可以保存并关闭工作表。

我正在尝试自动执行此操作。我的想法是拥有一个“主excel文档”,其中包含一个执行VBA代码的按钮,该代码将:

  • 打开特定文件夹
  • 打开文件夹
  • 中的每个工作簿
  • 在工作表中循环并找到需要更新的工作表(因为不是每张工作表都需要更新)
  • 完成后,保存并关闭工作表,然后对所有工作簿和所有文件夹重复此操作。

我现在的主要问题是我需要弄清楚如何从我的VBA代码中执行加载项功能。我研究过并发现我需要使用以下代码运行它:APPLICATION.RUN“ADDIN_NAME.XLA!SUBNAME”

我想我有ADDIN_NAME(通过点击文件,选项,加载项找到这个)。但我无法弄清楚如何获得子名称。

使用宏录制器不起作用 - 没有录制用于单击加载项按钮的代码。当我将鼠标悬停在加载项按钮上时,它会给我“分析师:刷新报告,使用当前标准”。关于如何弄清楚子名称是什么的任何建议? enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

您可以通过将xls(m?)文件重命名为zip来打开它,以ZIP打开它,导航到customUI / customUI.xml并在记事本中打开它。读取它应该给你每个按钮添加的宏的名称是调用。

例如

 ....size="large" onAction="showuserform" imageMso="CreateRepo....

其中showuserform是被调用宏的名称。