VBまたはC#の.NetからAccess 2007を自動化するのに問題があります。私がしたいのは、.NetのAccessモジュールのサブルーチンを呼び出すことだけです。.Netからアクセスモジュールの呼び出しルーチン?
最終的にはVBで動作させる必要がありますが、私は両方とも同じ結果を試しています。
以下はVBテストフォームのコードです。これは、エラーが発生:
System.Runtime.InteropServices.COMException(0x800A9D9F):HRESULTからの例外:Microsoft.Office.Interop.Access.ApplicationClass.Runで0x800A9D9F(文字列手順、オブジェクト& ARG1は、& ARG2オブジェクト、 ...、Object & Arg30)
My testのSubは、「MyTest」という名前で、Module1という名前のモジュールです。テーブル内に1つのレコードを挿入するだけです。それはアクセス内から正常に動作します。私は "Module1.MyTest"、 "MyTest()"、 "MyTestを呼び出す"など、さまざまな順列を試みました。
Access(および他のOfficeアプリケーション)の自動化のネット上でいくつかの例が見つかりましたが、動作するようには見えません。誰かが私に実例を指摘できたら、私は感謝します。
サンプルコード:
Imports Access = Microsoft.Office.Interop.Access
Imports Microsoft.Office.Core
Public Class FormTest
Private Sub cmdTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdTest.Click
Dim aa As New Access.Application()
Try
aa.OpenCurrentDatabase("c:\Test.accdb")
aa.Run("MyTest")
Catch ex As Exception
MsgBox(ex.ToString())
Finally
If aa IsNot Nothing Then
aa.Quit(Access.AcQuitOption.acQuitSaveNone)
End If
Me.Close()
End Try
End Sub
End Class
Access 2007のトラストセンターを介してMDBを信頼する場所に追加しました。 –
これはどのように行いましたか? – CamronBute
@CamronBute [あなたはMicrosoftからAccess 2007のためにこれらの指示を使うことができます](http://office.microsoft.com/en-us/word-help/create-remove-or-change-a-trusted-location-for- your-files-HA010031999.aspx#BM11)。 –