Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用宏插入更多宏_Python_Excel_Vba - Fatal编程技术网

Python 使用宏插入更多宏

Python 使用宏插入更多宏,python,excel,vba,Python,Excel,Vba,我有一些Python代码,它在数据库上运行一个查询,该数据库是我端的只读数据库,它向我转储一个Excel电子表格,其中包含我想要可视化的相关数据。我有几个宏来处理数据、创建和编辑图形,并让我以几种不同的方式过滤每个过滤器是几个正常的过滤器-与手动选择/清除多个过滤器相比非常方便 我的Python代码每天生成一个带有日期戳的新Excel文件。我想插入我的宏套件,并在每个新文件上自动运行安装程序,而不是手动导入和执行它们 有没有办法使用一个宏来插入几个其他宏,运行其中一些宏,并插入宏按钮或下拉框来运

我有一些Python代码,它在数据库上运行一个查询,该数据库是我端的只读数据库,它向我转储一个Excel电子表格,其中包含我想要可视化的相关数据。我有几个宏来处理数据、创建和编辑图形,并让我以几种不同的方式过滤每个过滤器是几个正常的过滤器-与手动选择/清除多个过滤器相比非常方便

我的Python代码每天生成一个带有日期戳的新Excel文件。我想插入我的宏套件,并在每个新文件上自动运行安装程序,而不是手动导入和执行它们

有没有办法使用一个宏来插入几个其他宏,运行其中一些宏,并插入宏按钮或下拉框来运行过滤位?如果不是,那么在Python生成我的Excel文件时,可以这样做,还是应该从Python端这样做

编辑: python代码是由其他人编写的,我不懂python。它使用以下方式打印数据:

以pd.ExcelWriterfilename作为编写器: df_merged_final.to_excelwriter,sheet_name='final Data',index=False
您可以在.bas文件中收集所有宏,并在需要时导入这些宏

1收集所有常规宏并将它们放入模块中。您甚至可以编写一个父宏来调用所有其他子宏,但它们都必须位于该模块中

2将模块导出为.bas文件

然后,无论何时需要宏:

3.将.bas文件导入工作簿

4您的宏现在可以在“开发人员”选项卡的功能区中找到,该选项卡将它们显示为下拉列表。如果使用了父宏,只需单击父宏即可激发所有子宏


这允许您在源文件本身中工作,并且可以避免将大量数据复制到剪贴板。还可以作为最常用宏的一个很好的备份,以防主Excel文件损坏。

您能不能不使用Python直接执行宏的工作?您可以像使用VBA一样使用Python操作Excel。除了过滤之外,这可能是更好的方法。但是,我不知道Python——其他人创建了查询,我再也不能访问它们了。Excel文件是如何创建的?您是否可以使用已经具有所需宏的模板,制作一个副本并用数据填充它?您建议复制一个主文件,然后将新生成的文件中的数据移植到副本中,从而避免插入宏的工作?那将节省一部分时间/麻烦。