如何从access内调用Excel函数,Access里也能使用Excel函数了-金宇
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 综合其它


如何从access内调用Excel函数,Access里也能使用Excel函数了

发表时间:2012/3/29 9:09:05 评论(1) 浏览(15099)  评论 | 加入收藏 | 复制
   
摘 要: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群(群号:198465573)
 
 相关文章
Excel 2002公式与函数应用宝典(PDF文档/电子书)  【周芳  2013/3/12】
删除另一个Excel文件里面的所有代码  【叶海峰  2013/3/20】
excel中,怎样才能把数字转换成中文大写金额格式  【赵文斌  2013/3/20】
Excel中将汉字转化为拼音(实例)  【杏林求真  2013/4/25】
Excel实现图表的数据钻取功能  【叶海峰  2013/5/3】
常见问答
技术分类
相关资源
文章搜索
关于作者

金宇

文章分类

文章存档

友情链接