[英]How to run ms access macro from vb.net?
我正在嘗試從vb.net 2010從ms Access 2010運行宏。
我使用的代碼是
Dim oAccess As Access.ApplicationClass
'Start Access and open the database.
oAccess = CreateObject("Access.Application")
oAccess.Visible = True
oAccess.OpenCurrentDatabase("C:\Users\Yuganshu\Desktop\New folder (4)\WindowsApplication1\db.mdb", False)
'Run the macros.
oAccess.Run("Macro1")
'oAccess.Run("DoKbTestWithParameter", "Hello from VB .NET Client")
'Clean-up: Quit Access without saving changes to the database.
oAccess.DoCmd().Quit(Access.AcQuitOption.acQuitSaveNone)
System.Runtime.InteropServices.Marshal.ReleaseComObject(oAccess)
oAccess = Nothing
這給了我以下錯誤:
無法將類型為“ Microsoft.Office.Interop.Access.ApplicationClass”的COM對象轉換為類類型為“ WindowsApplication1.Access.ApplicationClass”的COM對象。 表示COM組件的類型的實例不能轉換為不表示COM組件的類型。 但是,只要基礎COM組件支持對接口IID的QueryInterface調用,就可以將它們強制轉換為接口。
我不知道該怎么辦。
您需要添加正確的COM參考。 單擊項目菜單欄,然后->添加參考。 在“類型庫”下查找“ Microsoft Access 14.0”或計算機正在運行的任何版本。 然后添加以下語句。
Imports Microsoft.Office.Interop
Dim Access_Object As New Access.Application
Access_Object = CreateObject("Access.Application")
Access_Object.Application.Visible = True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.