Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

如何从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源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助