|
Excel 有一些 Access 没有的函数,例如,统计函数和加载项函数。通过使用“自动化”功能,可以在 access 中使用这些 Excel 函数。为此,先请设置对 Microsoft Excel 对象库的引用。
要设置对 Microsoft Excel 对象库的引用,请执行下列步骤: 在 access 中,按 ALT+F11 切换到 Visual Basic 编辑器。 在工具菜单上,单击引用。 在引用框中,单击 Microsoft Excel 9.0 Object Library 复选框,然后单击确定。 设置引用后,可以使用“对象浏览器”查看所有 Excel 的对象、属性和方法,包括通过 Application 对象可用的函数。
以下两个示例程序中使用了 Microsoft Excel 的统计函数。
备注:通过“自动化”功能打开 Excel 之后,Excel 不自动关闭。以下示例程序中使用 Quit 方法关闭 Excel。
示例 1
以下函数使用“自动化”功能调用 Excel 的 Median () 函数。数字组的一半在中值之下,而另一半则在中值之上。
Sub xlMedian() Dim objExcel As Excel.Application Set objExcel = CreateObject("Excel.Application") MsgBox objExcel.Application.Median(1, 2, 5, 8, 12, 13) objExcel.Quit Set objExcel = Nothing End Sub |
该函数在消息框中显示 6.5。 示例 2
以下函数使用“自动化”功能调用 Excel 的 ChiInv () 函数,该函数返回卡方分布的倒数或单尾概率。
Sub xlChiInv() Dim objExcel As Excel.Application Set objExcel = CreateObject("Excel.Application") MsgBox objExcel.Application.ChiInv(0.05, 10) objExcel.Quit Set objExcel = Nothing End Sub |
该函数在消息框中显示 18.3070290368475。
通过直接调用 Excel 引用可以简化代码:
Sub xlChiInv() MsgBox Excel.Application.ChiInv(0.05, 10) End Sub |
备注: 使用该语法时,Excel 将保留在内存中,直到重置代码或关闭数据库。 使用加载项
Excel 也使用加载项。这些程序包含自定义函数和命令。如果需要使用包含在加载项程序中的函数,请先打开加载项。以下示例使用 LCM (Least Common Multiple) 函数:
Sub xlAddin() Dim objExcel As Excel.Application Set objExcel = CreateObject("Excel.Application")
' Opens the add-in, which is in the Analysis folder of the ' Excel Library Directory. objExcel.workbooks.Open (objExcel.Application.librarypath & _ "\Analysis\atpvbaen.xla")
' Runs the AutoOpen macro in the add-in objExcel.workbooks("atpvbaen.xla").RunAutoMacros (xlAutoOpen) MsgBox objExcel.Application.Run("atpvbaen.xla!lcm", 5, 2) objExcel.Quit Set objExcel = Nothing End Sub |
该函数在消息框中显示 10。 |