首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel VBA将参数传递给Python脚本

Excel VBA将参数传递给Python脚本
EN

Stack Overflow用户
提问于 2020-09-14 02:00:53
回答 1查看 851关注 0票数 1

我想从Excel VBA启动Python脚本。我有这个

代码语言:javascript
运行
复制
Sub RunPython()

    Dim PythonExe As String, PythonScript As String, PythonArgs As String
    Dim objShell As Object
    
    PythonExe = "C:\MyProgs\Python\Python37\python.exe"
    PythonScript = "c:\scripts\Python\test.py"
    PythonArgs = "1 1"

    Set objShell = VBA.CreateObject("Wscript.Shell")
    
    objShell.Run PythonExe & " " & PythonScript
    'objShell.Run PythonExe & " " & PythonScript & " " & PythonArgs
    
End Sub

Python脚本的编写方式是在命令行上接受参数,或者在没有提供参数的情况下提示用户。第一个objShell.run ...工作时,它启动脚本并等待用户输入。第二个objShell.run ...不起作用。外壳会闪现,仅此而已。如果我直接从命令行调用python脚本,如下所示

代码语言:javascript
运行
复制
test.py 1 1

脚本起作用了。

那么,如何使用VBA将参数传递给脚本呢?最终,我希望从Excel工作表中读取这两个参数并传递它们。

我读过Pass Python Argument Through VBA

EN

回答 1

Stack Overflow用户

发布于 2020-09-14 02:19:14

我想通了。在Python脚本中,我从位置参数切换到可选参数。因此,我需要像这样发送参数

代码语言:javascript
运行
复制
PythonArgs = "--arg1 1 --arg2 1"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63873954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档