gpt4 book ai didi

python - VBA背面运行Python的权限错误

转载 作者:行者123 更新时间:2023-12-03 20:45:18 27 4
gpt4 key购买 nike

我正在尝试使用按钮创建一个简单的 excel 文件,以从 excel 文件中填充单元格。我遇到的问题是,如果我打开了我的 excel 文件,python 由于权限错误而无法打开 excel(因为文件已经打开)。我知道一种简单的方法是在 VBA 中创建变量并让 python 完成所有计算,然后将其传递回 VBA。然后 VBA 将填充单元格。这不是我想要做的。我在网上看到人们能够在运行 python 并同时填充时保持 excel 打开。我错过了什么?从 VBA 打开时,是否有某种方法可以授予 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()

最佳答案

所以这将是一种方法:

Option Explicit

Sub RunPythonScript()
Dim objShell As Object
Dim PythonExe, PythonScript As String

Set objShell = VBA.CreateObject("Wscript.Shell")
PythonExe = """C:\Program Files (x86)\Microsoft Visual
Studio\Shared\Python37_64\python.exe"""
PythonScript = """E:\My Documents\Finance\Economy\excel6.py"""
objShell.Run PythonExe & PythonScript
End Sub
在 Python 上
import xlwings as xw
book.sheets["Sheet1"].range('A1').value = 100
现在可以在 excel 表中添加一个按钮并调用 python 脚本来填充 excel。

关于python - VBA背面运行Python的权限错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65907013/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com