如何将值从VBA传递到python

如何将值从VBA传递到python,python,vba,Python,Vba,我有一个VBA工具栏,我一直在工作。它有两个按钮,在进程接近尾声时,它调用一个python脚本。 我想做的是,根据单击两个按钮中的哪一个,python脚本的某个部分将运行,因此我想传递一个链接到按钮的值,然后将该值发送到python脚本并运行 我该怎么做 谢谢您可以将命令行选项传递给python脚本,就像其他命令行程序一样。根据按下的按钮,将不同的开关传递给您的程序 在您的情况下,可能最简单的方法是根据所按下的按钮在命令行上传入一个值,然后从变量中选择该值: import sys def fo

我有一个VBA工具栏,我一直在工作。它有两个按钮,在进程接近尾声时,它调用一个python脚本。 我想做的是,根据单击两个按钮中的哪一个,python脚本的某个部分将运行,因此我想传递一个链接到按钮的值,然后将该值发送到python脚本并运行

我该怎么做


谢谢

您可以将命令行选项传递给python脚本,就像其他命令行程序一样。根据按下的按钮,将不同的开关传递给您的程序

在您的情况下,可能最简单的方法是根据所按下的按钮在命令行上传入一个值,然后从变量中选择该值:

import sys

def fooClicked():
    # Stuff to do when Foo was clicked

def barClicked():
    # Stuff to do when Bar was clicked

button = sys.argv[1]
if button == 'foo':
    fooClicked()
elif button == 'bar':
    barClicked()
(您可以使用dict查找方法,但这可能太高级了,不知道您对Python有多熟悉)

因此,如果使用
python.exe H:\Report\u v7.py foo
调用此脚本,将调用
fooClicked
函数

如果这将发展到不止两个按钮,我将使用该模块定义您的选项,并根据选择的选项运行不同的代码路径


如果升级到Python 2.7,则使用新的(更好的)模块。

您可以将命令行选项传递给Python脚本,就像其他命令行程序一样。根据按下的按钮,将不同的开关传递给您的程序

在您的情况下,可能最简单的方法是根据所按下的按钮在命令行上传入一个值,然后从变量中选择该值:

import sys

def fooClicked():
    # Stuff to do when Foo was clicked

def barClicked():
    # Stuff to do when Bar was clicked

button = sys.argv[1]
if button == 'foo':
    fooClicked()
elif button == 'bar':
    barClicked()
(您可以使用dict查找方法,但这可能太高级了,不知道您对Python有多熟悉)

因此,如果使用
python.exe H:\Report\u v7.py foo
调用此脚本,将调用
fooClicked
函数

如果这将发展到不止两个按钮,我将使用该模块定义您的选项,并根据选择的选项运行不同的代码路径


如果升级到Python2.7,则使用新的(更好的)模块。

如何运行Python脚本?通过一个带有命令行的新进程?Martijn,在VBA代码中,我有以下
code
Shell“C:\Python25\python.exe”“H:\Report\u v7.py”如何运行python脚本?通过一个带有命令行?Martijn的新进程,在VBA代码中,我有以下
code
Shell“C:\Python25\python.exe”“H:\Report\u v7.py”