如何从access内调用Excel函数,Access里也能使用Excel函数了
时 间:2012-03-29 09:09:05
作 者:佚名 ID:43 城市:江阴
摘 要:Microsoft Excel 有一些 Microsoft Access 没有的函数,例如,统计函数和加载项函数。通过使用“自动化”功能,可以在 Access 中使用这些 Excel 函数。
正 文:
这篇文章中的信息适用于:
Microsoft Access 2000
本文适用于 Microsoft Access 数据库 (.mdb) 和 Microsoft Access 项目 (.adp)。
高级用户:要求具有高级编程、互操作性和多用户技巧。
概 要:
本文说明如何使用“自动化”功能从 Microsoft Access 内调用 Microsoft Excel 函数。
更多信息
Microsoft Excel 有一些 Microsoft Access 没有的函数,例如,统计函数和加载项函数。通过使用“自动化”功能,可以在 Access 中使用这些 Excel 函数。为此,先请设置对 Microsoft Excel 对象库的引用。
要设置对 Microsoft Excel 对象库的引用,请执行下列步骤:
在 Access 中,按 ALT+F11 切换到 Visual Basic 编辑器。
在工具菜单上,单击引用。
在引用框中,单击 Microsoft Excel 9.0 Object Library 复选框,然后单击确定。
设置引用后,可以使用“对象浏览器”查看所有 Microsoft Excel 的对象、属性和方法,包括通过 Application 对象可用的函数。
以下两个示例程序中使用了 Microsoft Excel 的统计函数。
备注:通过“自动化”功能打开 Excel 之后,Excel 不自动关闭。以下示例程序中使用 Quit 方法关闭 Excel。有关退出 Excel 的其它信息,请参见 Microsoft Knowledge Base 中的以下文章:
210129 ACC2000:通过“自动化”功能运行的应用程序总是无法关闭。
示例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。
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)
- Access快速开发平台--让有权...(11.04)
- Access快速开发平台--审批选...(11.01)
- ACCESS两张表先各自排序,然后...(10.31)
- Access对子窗体数据进行批量+...(10.30)
- SqlServer中如何用SQL命...(10.29)
- Access报表中的分组功能用代码...(10.28)
- 用Access计算库存结余的一个方...(10.26)
- 最精简的组合框行来源数据快速输入(...(10.25)