【问题标题】:Python/Excel UDFs stop working after file is reopenedPython/Excel UDF 在文件重新打开后停止工作
【发布时间】:2019-01-05 02:49:37
【问题描述】:

我正在使用 xlwings 为 Excel 创建 Python UDF。所以我创建了一个新的 Excel 文件,完成了整个设置,UDF 将返回正确的结果。之后,我保存 Excel 文件,关闭它,重新打开它并重新导入函数以再次使用。但那是 UDF 停止工作的时候。它没有给我任何错误消息。相反,它只是开始返回错误的结果,尽管我没有改变任何东西。更具体地说,UDF 通知 number_of_files 为 0,即使文件夹 Docs_Received 保存了多个 pdf 文件。我查找了以前的问题,多次测试并仔细检查了文件设置,但我仍然不知道。有谁知道重新打开文件后如何使 UDF 正常工作?

def FILE_COUNT():
    folder_name = "Docs_Received"
    number_of_files = 0
    for file in glob.glob(os.path.join(os.path.abspath(os.path.curdir),folder_name,"[!~]*.pdf")):
        number_of_files += 1
    return number_of_files

【问题讨论】:

    标签: python excel xlwings


    【解决方案1】:

    保存并重新打开后,您的代码对我有效。

    您不必重新导入 UDF。您应该另存为启用宏的文件(如 .xlsm 或 .xlsb)。

    【讨论】:

      猜你喜欢
      • 2021-09-16
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 2011-01-20
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多