Microsoft Excel 有一些 Microsoft Access 沒(méi)有的函數(shù),例如,統(tǒng)計(jì)函數(shù)和加載項(xiàng)函數(shù)。通過(guò)使用“自動(dòng)化”功能,可以在 access 中使用這些 Excel 函數(shù)。為此,先請(qǐng)?jiān)O(shè)置對(duì) Microsoft Excel 對(duì)象庫(kù)的引用。
要設(shè)置對(duì) Microsoft Excel 對(duì)象庫(kù)的引用,請(qǐng)執(zhí)行下列步驟:
1.在 access 中,按 ALT+F11 切換到 Visual Basic 編輯器。
2.在工具菜單上,單擊引用。
3.在引用框中,單擊Microsoft Excel 9.0 Object Library復(fù)選框,然后單擊確定。
設(shè)置引用后,可以使用“對(duì)象瀏覽器”查看所有Microsoft Excel的對(duì)象、屬性和方法,包括通過(guò)Application對(duì)象可用的函數(shù)。
以下兩個(gè)示例程序中使用了 Microsoft Excel 的統(tǒng)計(jì)函數(shù)。
備注:通過(guò)“自動(dòng)化”功能打開(kāi) Excel 之后,Excel 不自動(dòng)關(guān)閉。以下示例程序中使用Quit方法關(guān)閉 Excel。有關(guān)退出 Excel 的其它信息,請(qǐng)參見(jiàn) Microsoft Knowledge Base 中的以下文章:
Q210129 ACC2000:通過(guò)“自動(dòng)化”功能運(yùn)行的應(yīng)用程序總是無(wú)法關(guān)閉
示例 1
以下函數(shù)使用“自動(dòng)化”功能調(diào)用 Excel 的 Median () 函數(shù)。數(shù)字組的一半在中值之下,而另一半則在中值之上。
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
該函數(shù)在消息框中顯示 6.5。
示例 2
以下函數(shù)使用“自動(dòng)化”功能調(diào)用 Excel 的 ChiInv () 函數(shù),該函數(shù)返回卡方分布的倒數(shù)或單尾概率。
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
該函數(shù)在消息框中顯示 18.3070290368475。
通過(guò)直接調(diào)用 Excel 引用可以簡(jiǎn)化代碼:
Sub xlChiInv()
MsgBox Excel.Application.ChiInv(0.05, 10)
End Sub
備注: 使用該語(yǔ)法時(shí),Excel 將保留在內(nèi)存中,直到重置代碼或關(guān)閉數(shù)據(jù)庫(kù)。
使用加載項(xiàng)
Excel 也使用加載項(xiàng)。這些程序包含自定義函數(shù)和命令。如果需要使用包含在加載項(xiàng)程序中的函數(shù),請(qǐng)先打開(kāi)加載項(xiàng)。以下示例使用LCM(Least Common Multiple) 函數(shù):
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
該函數(shù)在消息框中顯示 10。
參考
有關(guān) Automation 的詳細(xì)信息,在 Visual Basic 編輯器中,單擊幫助菜單上的Microsoft Visual Basic 幫助,在“Office 助手”或“應(yīng)答向?qū)А敝休斎胱詣?dòng)化,單擊搜索查看相關(guān)的主題。
有關(guān)“對(duì)象瀏覽器”的詳細(xì)信息,請(qǐng)?jiān)?Visual Basic 編輯器中,單擊幫助菜單上的Microsoft Visual Basic 幫助,并在“Office 助手”或“應(yīng)答向?qū)А敝墟I入瀏覽器,然后單擊搜索查看相關(guān)的主題。
有關(guān)引用類型庫(kù)的詳細(xì)信息,請(qǐng)?jiān)?Visual Basic 編輯器中,單擊幫助菜單上的Microsoft Visual Basic 幫助,并在“Office 助手”或“應(yīng)答向?qū)А敝墟I入設(shè)置引用,然后單擊搜索查看相關(guān)的主題。
要設(shè)置對(duì) Microsoft Excel 對(duì)象庫(kù)的引用,請(qǐng)執(zhí)行下列步驟:
1.在 access 中,按 ALT+F11 切換到 Visual Basic 編輯器。
2.在工具菜單上,單擊引用。
3.在引用框中,單擊Microsoft Excel 9.0 Object Library復(fù)選框,然后單擊確定。
設(shè)置引用后,可以使用“對(duì)象瀏覽器”查看所有Microsoft Excel的對(duì)象、屬性和方法,包括通過(guò)Application對(duì)象可用的函數(shù)。
以下兩個(gè)示例程序中使用了 Microsoft Excel 的統(tǒng)計(jì)函數(shù)。
備注:通過(guò)“自動(dòng)化”功能打開(kāi) Excel 之后,Excel 不自動(dòng)關(guān)閉。以下示例程序中使用Quit方法關(guān)閉 Excel。有關(guān)退出 Excel 的其它信息,請(qǐng)參見(jiàn) Microsoft Knowledge Base 中的以下文章:
Q210129 ACC2000:通過(guò)“自動(dòng)化”功能運(yùn)行的應(yīng)用程序總是無(wú)法關(guān)閉
示例 1
以下函數(shù)使用“自動(dòng)化”功能調(diào)用 Excel 的 Median () 函數(shù)。數(shù)字組的一半在中值之下,而另一半則在中值之上。
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
該函數(shù)在消息框中顯示 6.5。
示例 2
以下函數(shù)使用“自動(dòng)化”功能調(diào)用 Excel 的 ChiInv () 函數(shù),該函數(shù)返回卡方分布的倒數(shù)或單尾概率。
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
該函數(shù)在消息框中顯示 18.3070290368475。
通過(guò)直接調(diào)用 Excel 引用可以簡(jiǎn)化代碼:
Sub xlChiInv()
MsgBox Excel.Application.ChiInv(0.05, 10)
End Sub
備注: 使用該語(yǔ)法時(shí),Excel 將保留在內(nèi)存中,直到重置代碼或關(guān)閉數(shù)據(jù)庫(kù)。
使用加載項(xiàng)
Excel 也使用加載項(xiàng)。這些程序包含自定義函數(shù)和命令。如果需要使用包含在加載項(xiàng)程序中的函數(shù),請(qǐng)先打開(kāi)加載項(xiàng)。以下示例使用LCM(Least Common Multiple) 函數(shù):
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
該函數(shù)在消息框中顯示 10。
參考
有關(guān) Automation 的詳細(xì)信息,在 Visual Basic 編輯器中,單擊幫助菜單上的Microsoft Visual Basic 幫助,在“Office 助手”或“應(yīng)答向?qū)А敝休斎胱詣?dòng)化,單擊搜索查看相關(guān)的主題。
有關(guān)“對(duì)象瀏覽器”的詳細(xì)信息,請(qǐng)?jiān)?Visual Basic 編輯器中,單擊幫助菜單上的Microsoft Visual Basic 幫助,并在“Office 助手”或“應(yīng)答向?qū)А敝墟I入瀏覽器,然后單擊搜索查看相關(guān)的主題。
有關(guān)引用類型庫(kù)的詳細(xì)信息,請(qǐng)?jiān)?Visual Basic 編輯器中,單擊幫助菜單上的Microsoft Visual Basic 幫助,并在“Office 助手”或“應(yīng)答向?qū)А敝墟I入設(shè)置引用,然后單擊搜索查看相關(guān)的主題。