1

我知道网络上到处都是这样的问题,但我仍然无法将我能找到的答案应用于我的情况。

我意识到有 VBA,但我总是不喜欢将程序/宏放在 Excel 文件中,从而导致膨胀、安全警告等。我正在考虑适用于一组 Excel 文件的 VBScript,而让它们无宏。现在,我已经能够按照这种方法为目录中的所有文件“将第一列绘制为蓝色”,但是我需要执行更复杂的操作(图表、数据透视表等),这将更加困难(不可能?) 使用 VBScript 比使用 VBA。

对于此特定示例,知道如何在处理后从所有文件中删除所有宏就足够了,但欢迎提出所有建议。有什么好的参考吗?任何关于如何最好地处理 Excel 文件的外部批处理的建议将不胜感激。

谢谢!

PS:我急切地尝试了 Mark Hammond 伟大的 PyWin32 包,但缺乏文档和解释器反馈让我灰心。

4

3 回答 3

1

您可以将宏放在单独的 excel 文件中。

于 2010-05-15T10:47:05.227 回答
1

您可以在 VBA 中执行的几乎所有您可以在 VBScript(或任何其他支持 COM 的脚本/语言)中执行的 excel 自动化操作。

创建 Excel.Application 实例后,您几乎可以将 VBA 放入 VBS 并从那里开始。

于 2010-05-15T14:16:39.133 回答
0

如果您希望使用 Excel/VBA 功能,那么您始终可以从创建所有代码开始,这些代码将与您想要在 Excel 文件中处理的 Excel 文件交互 - 一种主文件正如 Karsten W. 所建议的那样,与常规文件分开。

这使您可以自由地编写 Excel/VBA。

然后,您可以从 VB 脚本、批处理文件、任务计划程序等中调用您的主工作簿(例如,可以将其配置为在打开工作簿时运行您的代码)。

如果您想变得花哨,您甚至可以在您的主文件中使用 VBA 在您正在处理的任何目标文件中创建/修改/删除自定义宏/VBA 模块。

我所描述的几乎所有技术的信息都是从 Excel VBA 内置参考文档中获得的,但熟悉您正在处理的特定编程任务肯定会有所帮助。我建议最好的方法是将您的任务(例如,使列变为蓝色,更新/排序数据等)一个接一个地放在一起,然后担心最后的自动化。

于 2010-05-16T04:40:06.320 回答