xlwings中的Python用户定义函数

时间:2016-01-25 17:50:02

标签: python excel xlwings

我试图找出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

所有这一切都需要时间戳字符串,例如05/01/2016 14:25:56 GMT并取消GMT并将其转换为当地时间(美国的中心时间)。我试过使用该代码:

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

要创建用户定义的函数,但即使我导入了xlwings.bas模块,Excel也似乎无法识别python代码。我得到的唯一错误是“编译错误:语句的预期结束。”我认为这意味着Excel无法识别python代码。知道怎么解决吗?另外,将单元格的内容传递给python代码的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

RunPython和装饰器语法是两种不同的方法。要使用装饰器执行用户定义的函数,请遵循指南here。您需要使用加载项导入这些函数,不需要RunPython