我有一个VBA工具栏,我一直在努力。它有两个按钮,在过程结束时,它调用一个python脚本。 我想要做的是取决于点击两个按钮中的哪一个,python脚本的某个部分将运行,所以我想传递一个链接到按钮的值,然后发送到python脚本并运行。
我该怎么做?
由于
答案 0 :(得分:1)
您可以将命令行选项传递给python脚本,就像使用其他命令行程序一样。根据按下的按钮,将不同的开关传递给您的程序。
在您的情况下,根据按下的按钮在命令行中传入一个值可能是最简单的,并从sys.argv
变量中选择它:
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_v7.py foo
调用此脚本,则会调用fooClicked
函数。
如果这将增长到超过两个按钮,我将使用optparse
模块来定义您的选项并根据所选的选项运行不同的代码路径。
如果升级到Python 2.7,请改用新的(更好的)argparse
模块。