从VBA运行Python脚本不会发生任何事情,但当我从Python.exe运行它时,它会工作

2024-09-28 20:48:44 发布

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

我正在从VBA运行Python scrpit。结果应该是Exel文件中的填充单元格。我尝试使用此VBA命令:

RetVal = Shell("""C:\Python27\python.exe""" & " " & """M:\Analysis\PythonScripts\MySript.py""", vbHide)

但结果什么也没发生。但是,如果我直接从python.exe运行这个scit,它就可以正常工作。Excel文件中的单元格将填充一个值。这使我得出结论,VBA代码有问题

更新

Python脚本片段:

ExcelApp = win32com.client.GetActiveObject("Excel.Application")
wb = ExcelApp.Workbooks('File1.xlsm')
sheet = wb.Worksheets(u'Result')
cell = sheet.Range('B1')
cell.Value = result

Tags: 文件命令cellanalysisshellvbaexcelexe
1条回答
网友
1楼 · 发布于 2024-09-28 20:48:44

我认为,如果您是从File1.xlsm运行VBA,这会导致VBA和Python之间发生冲突。例如文件共享冲突/权限被拒绝,因为现在VBA和Python正试图同时控制文件。试着从另一个不是目标文件的文件运行VBA,让我们看看它是如何运行的

相关问题 更多 >