我正在尝试创建一个简单的excel文件,其中包含一个按钮,用于从excel文件填充单元格。我遇到的问题是,如果我打开了excel文件,python将无法打开excel,因为权限错误(因为该文件已打开)。我知道一个简单的方法是在VBA中创建变量,让python完成所有计算,然后将其传递回VBA。然后VBA将填充单元格。这不是我想做的。我在网上看到人们能够在运行python和同时填充的同时保持excel的打开状态。我错过了什么?从VBA打开python时,是否有某种方法授予python权限
将Python集成到VBA似乎相当简单。我使用以下代码在VBA中创建了一个模块:
Sub RunPythonScript()
Dim objShell As Object
Dim PythonExePath, PythonScriptPath As String
Set objShell = VBA.CreateObject("Wscript.Shell")
PythonExePath = """C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\python.exe"""
PythonScriptPath = "E:\My Documents\Finance\Economy\excel2.py"
objShell.Run PythonExePath & PythonScriptPath
End Sub
对于python:
from openpyxl import load_workbook
wb = load_workbook('Python_Button.xlsm')
ws = wb["Sheet1"]
for i in range (1,21):
currentCell = "A" + str(i)
ws[currentCell] = i
wb.save('Python_Button.xlsm')
wb.close()
因此,这将是一种方法:
关于Python
现在可以在excel工作表中添加一个按钮,并调用python脚本来填充excel
相关问题 更多 >
编程相关推荐