重新打开文件后,Python / Excel UDF停止工作

时间:2018-07-28 00:42:43

标签: python excel xlwings

我正在使用xlwings为Excel创建Python UDF。因此,我创建了一个新的Excel文件,进行了整个设置,UDF向我返回了正确的结果。之后,我保存了Excel文件,将其关闭,重新打开,然后重新导入该函数以再次使用。但这是UDF停止工作的时候。它没有给我任何错误消息。相反,尽管我没有做任何更改,但它只是开始返回错误的结果。更具体地说,即使文件夹Docs_Received已保存了多个pdf文件,UDF也会通知number_of_files为0。我查找了以前的问题,进行了多次测试,并仔细检查了文件设置,但我仍然不知道。重新打开文件后,有人知道如何使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

1 个答案:

答案 0 :(得分:0)

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

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