Ms access 如何在Access 2010中使用自定义excel函数(或加载项)

Ms access 如何在Access 2010中使用自定义excel函数(或加载项),ms-access,excel,add-in,vba,Ms Access,Excel,Add In,Vba,有没有办法在Access2010中重用最初用Excel 2010编写的一组自定义函数?我正在编写一个excel加载项,它为excel用户提供自定义函数。其中一些函数引用了一个excel表中的数据。在一个access数据库中也需要相同的功能 我是excel世界的新手,只是想知道这是否可以做到 (我已经做了很长时间的java程序员,最近开始使用excel) 更新: 作为对Tim评论的回应——目前我没有“简单”的条件和代码,但你是对的,这可能会随着复杂性的增加而改变。示例函数: Function Ba

有没有办法在Access2010中重用最初用Excel 2010编写的一组自定义函数?我正在编写一个excel加载项,它为excel用户提供自定义函数。其中一些函数引用了一个excel表中的数据。在一个access数据库中也需要相同的功能

我是excel世界的新手,只是想知道这是否可以做到

(我已经做了很长时间的java程序员,最近开始使用excel)

更新: 作为对Tim评论的回应——目前我没有“简单”的条件和代码,但你是对的,这可能会随着复杂性的增加而改变。示例函数:

Function BaselinedNumber(baseline_high, baseline_low, high)
    If baseline_low = 0 Then
        BaselinedNumber = 0
    Else
        baseDiscount = (baseline_high - baseline_low) / baseline_high
        BaselinedNumber = high * (1 - baseDiscount)
    End If
End Function

Dim appExcel作为新的Excel.Application

appExcel.Visible=False

appExcel.Workbooks.Open Excel文件名

appExcel.Run(BaselinedNumber)、val1、val2、val3


appExcel.Quit

是否可以在Access中使用它们完全取决于它们的功能。除非它们是用户定义的函数,仅采用Access中VBA可以处理的参数类型(例如,无
Range
parameters),否则您不太可能在不进行任何修改的情况下使用它们。如果你展示一些实际的代码,你可能会得到更具体的建议。这也取决于“在访问中使用它们”的含义。您想对Access中的表使用这些函数,还是要从Access中自动调用Excel?@Remou-我希望做的是将这些函数添加到Access数据库中,并在查询等中调用它们。我看不出有任何理由不应在Access中调用该特定函数。我确实想在中调用该函数-问题是如何做到这一点?在中创建COM加载项?excel加载项拒绝导入