VSTO(.vb) 使用 EXCEL 内置函数 Match() 异常

VSTO(.vb) uses EXCEL built-in function Match() exception

项目是VSTO Excel插件(vb),使用EXCEL内置函数Match()时出现异常

Imports excel = Microsoft.Office.Interop.Excel

Function match_out ()
    Dim index As Integer

    'The build error is here
    index= excel.WorksheetFunction.Match(1, {2, 1})
    
    return index
End Function

我要输出结果:

index = 2

但反馈:

error:BC30469 Reference to a non-shared member requires an object reference

您需要使用 VSTO add-in class (ThisAddin) 的 Application 属性 来调用工作表函数:

index= Application.WorksheetFunction.Match(1, {2, 1})

excel 只是导入的命名空间的别名。

参见 Application.WorksheetFunction property which returns the WorksheetFunction 对象。