python - 从 VBA 调用 python 脚本

标签 python vba

似乎有很多关于这个的线程,它们都指向这个解决方案:

Function call_py()

Dim rv As Variant
Const pypath = "C:\Users\user\AppData\Local\Programs\Python\Python36-32\python.exe "
Const scriptpath = "c:\Users\user\Desktop\test.py"

    rv = Shell(pypath & scriptpath, vbNormalFocus)


End Function

或类似的东西。不过,所有这一切都是在不执行脚本的情况下使 shell 弹出和消失。我做错了什么?

P.

最佳答案

试试这个:

Sub bat()
Dim batch, fso As Object
Dim path As String
path = "c:\Users\user\Desktop\"

Set fso = CreateObject("Scripting.FileSystemObject")
Set batch = fso.CreateTextFile(path & "python.bat", True)
batch.writeline "cd " & path
batch.writeline "python test.py"
batch.Close

Shell path & "python.bat", 1
End Sub

关于python - 从 VBA 调用 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45489577/

相关文章:

python - 如何从父表单中删除字段?

excel - 升序/降序vba excel

arrays - ctrl shift 输入数组

vba - 选择范围内的单元格,直到行为空

vba - 运行 VBA 代码并保持 Excel 的 UNDO/REDO 完好无损?

javascript - Excel - json数据 - 将某些元素返回到相邻单元格公式/宏

python - 以字符串作为输入并计算元音在字符串中出现的次数的函数

python - 为什么我的列表理解代码不立即对事物进行排序?

python - 为什么多处理模块生成的进程不复制内存?

python - 在这个例子中为什么我应该使用 __new__ 而不是 __init__ ?