【问题标题】:How to Make a VBA Excel Program Work on Other Excel Documents?如何使 VBA Excel 程序适用于其他 Excel 文档?
【发布时间】:2012-11-30 08:59:01
【问题描述】:

我是 VBA Excel 的新手,我只知道我需要的这个报告格式化任务的东西。我的代码几乎完成了,但我想知道的是,我怎样才能让我的程序在多个文档上工作?

我的意思是,我想通过我的程序选择一个 excel 文件,然后我想开始报告格式化的过程。然后也许用户需要格式化另一个文档,我希望我的程序也能够格式化该文档。我怎样才能做到这一点?

提前致谢

帖木儿

【问题讨论】:

  • 您的this document 将作为带有user form 的应用程序来控制/格式化其他文档。
  • 那么,为了使用这个程序来操作其他文件,我当前的文件必须保存,因为我无法将它们分开?如何将文件选择器控件添加到我的表单并使用我的代码来操作我的目标文件?
  • 你的方向是正确的。您甚至可以在您的主控制文件中拥有一个报告模板。 check this link
  • 需要格式化的文档都是同一个文件,也可以是新建的文件?我问这个是因为也许您可以在这些文档中包含一个格式宏并从您的“主”文件中调用它。看到这个link
  • 嗨@Octavio,感谢您的回复。实际上需要格式化的文档是我们从 CAST AI Platform 得到的分析结果,我们需要为 IBM RTC 进行格式化。我们的客户是一家银行,我的程序假设要处理多个项目的报告格式化任务。我认为在我的情况下,即使数据不同,我的初始表和目标表的列标题对于每个项目都是相同的

标签: vba excel filechooser


【解决方案1】:

我目前这样做的方式是创建一个 Excel 加载项。为此,请将您的宏和表单放入一个新的空 Excel 工作簿并另存为 .xlam 文档。

要使用宏,请打开 Excel 文件和加载项。要自动打开加载项,请将其保存到“C:\Program Files\Microsoft Office\Office12\XLSTART”(Vista)。

您甚至可以使用 Microsoft Office 的自定义 UI 编辑器 http://msdn.microsoft.com/en-us/library/office/ee691832(v=office.14).aspx 为您的加载项创建自定义功能区(下载链接在说明末尾)

【讨论】:

  • 您好,感谢您的回复。我认为这是我正在寻找的解决方案。但是您能解释一下**“要使用宏,请打开您的 Excel 文件和加载项”** 的意思吗? :) 我有点困惑,因为我是 vba 新手。我了解打开 excel 文件的部分,但我该如何打开加载项?加载项是指vba编辑器吗? :S 我应该按 ALT+F11 吗? :) :) (a)
  • 很抱歉给您带来了困惑。当您使用 .xlam 文件扩展名保存工作簿时,它将成为 Excel 加载项。加载项可以在与任何工作簿相同的 Excel 实例中打开。这使您可以从您正在处理的任何工作簿访问加载项中的所有宏。例如,假设您创建了一个名为 ExAddin.xlam 的加载项和一个工作簿 Work.xlsx。您将打开 Work.xlsx,然后打开 ExAddin.xlam。然后可以在 Work.xlsx 中访问 ExAddin.xlam 中的宏。
  • 那么,为了让它在其他excel文件上工作,我应该先运行我的初始文件吗? :s(请原谅我的困惑,我不是英语母语)
  • 只需打开您要处理的任何文件,然后打开 Excel 加载项(您的 .xlam 文件)。对不起,我不知道还能怎么解释。制作第一个加载项后,这一点会更加清晰。
猜你喜欢
  • 2021-10-09
  • 2017-08-24
  • 2013-08-08
  • 2016-04-16
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
  • 1970-01-01
  • 2019-01-03
相关资源
最近更新 更多