Excel-VBA和xlwings UDF类型不匹配错误

时间:2017-07-18 01:52:57

标签: python-3.x excel-vba xlwings vba excel

我正在使用python和xlwings在sqlite数据库和excel之间编写接口。有一个python函数:

# verifyExcelTickers returns 1, 2, and 3. 2 means everything is alright,
# 1 means the tickerName wasn't found, and 3 means multiple tickers were 
# found.
@xw.func
def verifyExcelTickers (ticker,exchange):
    dbConn = sqlite3.connect("./Python Scripts/Stock_Tracker/stockTracker.db",uri=True)
    return verifyExchTableTicker(ticker,True,exchange,dbConn)[0]
这是困扰我的。我使用自动UDF生成器将它加载到excel中,没有问题。如果我在excel电子表格中使用该功能,没问题。当我尝试从VBA代码中的函数获取返回值时,它给出了类型不匹配错误

' verifyExcelTickers returns integers
Dim result As Integer
result = verifyExcelTickers(tickerName, exchangeName)
If result = 1 Then
    sheet.Range("A" & i, "B" & i).Interior.Color = RGB(255, 0, 0)
    bFoundError = True
ElseIf result = 2 Then
    sheet.Range("A" & i, "B" & i).Interior.Color = RGB(255, 255, 255)
ElseIf result = 3 Then
    ' Multiple tickers
    sheet.Range("A" & i, "B" & i).Interior.Color = RGB(255, 255, 0)
    bFoundError = True
End If

以上在结果= ver ....行崩溃。如果我将结果类型更改为variant,它不会再抱怨它,但如果我尝试从那里转换为整数,则会引发其他错误。关于发生了什么的任何想法?一直试图解决这个问题几个小时了。

由于

0 个答案:

没有答案