【问题标题】:Is there a way to reference the active workbook when calling a python program via vba in excel?在excel中通过vba调用python程序时,有没有办法引用活动工作簿?
【发布时间】:2019-07-24 19:22:13
【问题描述】:

我正在尝试通过 excel 中的宏调用 python 脚本。该脚本需要引用调用它的 excel 文件。

我知道这个问题提供了有关如何在 vba 中调用脚本的帮助: How to call python script on excel vba? 但是,我的 python 脚本立即尝试引用 excel 文档路径/名称。有没有办法为这些值分配一个变量?我的 python 代码(见下文)需要一个参考路径/文档来从 excel 中提取正确的数据。

workbook_path = r'C:\Users\jrwaller\Documents\Automated Eve'
workbook_name = r'PMT Project 13.xlsx' 
import openpyxl
wb = openpyxl.load_workbook(fr'{workbook_path}\{workbook_name}')

路径和名称可以从一个项目更改为另一个项目。 有没有办法分配工作簿命令脚本作为 wb 运行?

【问题讨论】:

标签: python vba


【解决方案1】:

将它们传递为command-line arguments

from argparse import ArgumentParser
import openpyxl

parser = ArgumentParser()
parser.add_argument("-f", "--file", dest="filename",
                    help="the full path of the Excel workbook to work with", metavar="XLWB")    
args = parser.parse_args()
wb = openpyxl.load_workbook(args.filename)

【讨论】:

    猜你喜欢
    • 2016-07-09
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2019-10-30
    • 1970-01-01
    • 2017-09-16
    • 2019-04-27
    相关资源
    最近更新 更多