从不同的计算机上通过VBA运行Python脚本

2024-09-30 06:23:18 发布

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

我想开发一个工具,在这里有必要通过VBA启动Python脚本

我在internet上找到以下代码:

Sub RunPythonScript() '''This sub starts the Python script that creates the plots

    Dim objShell As Object
    ActiveWorkbook.Save
    Dim PythonExePath, PythonScriptPath As String

    Set objShell = VBA.CreateObject("Wscript.Shell")
    
    'PythonExePath = """C:\Users\MyName\AppData\Local\Programs\Python\Python38-32\python.exe""" ' 
    PythonScriptPath = "C:\Projects\MYproject\cttdb_plot_creator.py" 
    
    objShell.Run PythonExePath & PythonScriptPath

End Sub

这个代码对我有用。但是,当同事从计算机启动该工具时,该工具不起作用

我认为我为“PythonExePath”输入了一条太具体的路径,即:C:\Users\MyName\AppData\Local\Programs\Python\Python38-32\python.exe

是否有一种方法可以输入一个更通用且适用于每个用户的路径


Tags: 工具the代码localasvbausersappdata
1条回答
网友
1楼 · 发布于 2024-09-30 06:23:18

只需让所有用户在其Path环境变量中包含python.exe安装文件夹即可。在可能需要管理员访问权限的Windows上,请执行以下操作:

Control Panel > System and Security > System > Advanced system settings 
 > Environment Variables... > Path > OK > [Add new folder where python.exe resides]

请参见屏幕截图对话框:

Windows Environment Path Dialogs

使用PowerShell($Env:Path)或CMD提示符(echo %Path%)进行验证

完成后,您可以使用以下命令缩短命令行:

PythonExePath = "python"
PythonScriptPath = "C:\Projects\MYproject\cttdb_plot_creator.py" 
    
objShell.Run PythonExePath & " " & PythonScriptPath

相关问题 更多 >

    热门问题