2024-10-01 09:36:12 发布
网友
我想用Python编写一个vbadiff程序。有没有Python库可以让我阅读Excel电子表格中包含的VBA?在
我创建了一个名为VbaDiff的应用程序。如果您提供两个Excel文件,它将比较每个文件中的VBA代码。您也可以从命令行运行它,或者使用API附带的版本(如果您想将它与您自己的程序集成)。在
更多信息请访问http://www.technicana.com/vbadiff-information.html
克里斯
这里有一些快速和肮脏的样板可以让你开始。它使用Excel COM对象(仅限Windows的解决方案):
from win32com.client import Dispatch wbpath = 'C:\\example.xlsm' xl = Dispatch("Excel.Application") xl.Visible = 1 wb = xl.Workbooks.Open(wbpath) vbcode = wb.VBProject.VBComponents(1).CodeModule print vbcode.Lines(1, vbcode.CountOfLines)
这将打印我为本例录制的愚蠢宏:
注意,Lines和{}使用基于1的索引。VBComponents还支持按模块名索引。还要注意,Excel在路径中需要反斜杠。在
Lines
VBComponents
更深入地看皮尔逊的Programming The VBA Editor。(上面的例子是我从那里略过的拼凑而成的。)
我创建了一个名为VbaDiff的应用程序。如果您提供两个Excel文件,它将比较每个文件中的VBA代码。您也可以从命令行运行它,或者使用API附带的版本(如果您想将它与您自己的程序集成)。在
更多信息请访问http://www.technicana.com/vbadiff-information.html
克里斯
这里有一些快速和肮脏的样板可以让你开始。它使用Excel COM对象(仅限Windows的解决方案):
这将打印我为本例录制的愚蠢宏:
^{pr2}$注意,}使用基于1的索引。
Lines
和{VBComponents
还支持按模块名索引。还要注意,Excel在路径中需要反斜杠。在更深入地看皮尔逊的Programming The VBA Editor。(上面的例子是我从那里略过的拼凑而成的。)
相关问题 更多 >
编程相关推荐