Python vba提取以获取m的bin

2024-09-24 04:28:22 发布

您现在位置:Python中文网/ 问答频道 /正文

试图使用“VBI工作表”添加一个工程。在

我跟随XLSXWRITER documentation从一个不同的工作表中获取VBA代码的bin,我想在新工作簿的“Sheet1”中使用它。在

我在命令提示符下输入以下代码,但我得到错误:“'vba_提取.py'未被识别为内部或外部命令”

$ vba_extract.py Book1.xlsm
Extracted: vbaProject.bin

有人能一步一步地告诉我如何从旧文件中提取宏作为bin,然后使用python将其输入到新工作簿的sheet1中?在


Tags: 代码py外部命令bindocumentation错误extract工程
2条回答

你必须告诉命令你正在运行一个python文件。在

请尝试以下批处理代码:

cd C:\path\of\yourfile.py
python vba_extract.py Book1.xlsm

编辑: 添加了cd命令,你必须在python文件的文件夹中。在

我今天就想好了,只想把它留在这里,供将来的人使用。这是如此令人难以置信的沮丧,想知道如何做。如果你正在使用熊猫图书馆,这也是相关的。确保也安装xlsxwriter。在

1.单击windows开始按钮,键入“cmd”,然后单击它以运行命令提示符。在

2.打开后,需要找到vba的位置_提取.py文件是。对我来说,它就在这里:

C:\Users\yourusername\AppData\Local\Programs\Python\Python36-32\Scripts\vba_extract.py

3.现在,您需要获取要从中获取的.xlsm文件的路径。如果你没有.xlsm文件。做一个。下面是一个例子:

^{pr2}$

4.现在,回到命令提示符。这正是你要键入的。您将从第2步和第3步中获取两个项目,然后组合并按enter键。这里:

C:\Users\yourusername\AppData\Local\Programs\Python\Python36-32\Scripts\vba_extract.py C:\Users\yourusername\Desktop\excelfilename.xlsm

如果成功,它会告诉您:

Extracted: vbaProject.bin

5.这个我不确定。我假设你的.xlsm文件在哪,.bin文件就会在哪里结束。在这个例子中,它最终出现在我的桌面上。它将包含您在原始.xlsm文件中创建或拥有的所有宏。在

C:\Users\yourusername\Desktop/vbaProject.bin

下面是在完整代码中使用它的示例:

import pandas
import xlsxwriter

df_new = pd.read_csv('C:\\Users\\yourusername\\Desktop\\CSV1.csv')
writer = pd.ExcelWriter('C:\\Users\\yourusername\\Desktop\\CSV1.xlsx')
df_new.to_excel(writer, index = False, sheet_name = 'File Name', header = False)
pandaswb = writer.book
pandaswb.filename = 'C:\\Users\\yourusername\\Desktop\\newmacroexcelfile.xlsm')
pandaswb.add_vba_project(r'C:\Users\yourusername\Desktop/vbaProject.bin')
writer.save()

相关问题 更多 >