xlwings中的Python用户定义函数

我试图弄清楚xlwings。 我有以下的Python代码:

from xlwings import xlfunc from datetime import timedelta, datetime @xlfunc def convert(gmt): gmtValue = datetime(int(gmt[6:10]), int(gmt[3:5]), int(gmt[0:2]), int(gmt[11:13]), int(gmt[14:16]), int(gmt[17:19])) localTime = gmtValue - timedelta(seconds=(6*3600)) return localTime 

它所做的只是花时间戳string,如05/01/2016 14:25:56 GMT,并拉开GMT并将其转换为当地时间(美国的中央时间)。我试图使用该代码有:

 Sub convertToLocal() RunPython(“import converToLocal; convertToLocal.convert(gmt)”) End Sub 

为了制作一个用户定义的函数,但是Excel似乎不能识别python代码,即使我已经导入了xlwings.bas模块。 我得到的唯一错误是“编译错误:预期的语句结束”。我认为这只是意味着Excel无法识别Python代码。 任何想法如何解决它? 另外,将单元格内容传递给Python代码的正确方法是什么?

RunPython和装饰器语法是两种不同的方法。 要用装饰器来完成用户定义的function,请按照这里的指导。 您需要使用加载项导入这些函数,不需要RunPython