1

我有一个我一直在研究的 VBA 工具栏。它有两个按钮,在进程接近尾声时,它调用了一个 python 脚本。我想要做的是取决于单击两个按钮中的哪一个,python 脚本的某个部分将运行,所以我想传递一个链接到按钮的值,然后将其发送到 python 脚本并运行。

我该怎么做呢?

谢谢

4

1 回答 1

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 foofooClicked函数将被调用。

如果这将增长到不仅仅是两个按钮,我将使用该optparse模块来定义您的选项并根据所选选项运行不同的代码路径。

如果您升级到 Python 2.7,请改用新的(更好的)argparse模块。

于 2012-05-31T10:42:34.500 回答