Accessランタイムの場合、Access.Application = new Access.Applicationで落ちるのでその対策
private void button1_Click(object sender, EventArgs e)
{
Application ac = null;
IWshShell3 ws = (WshShell)Interaction.CreateObject("WScript.Shell", "");
ws.Run(@"C:\work\test.accdb");
ac = (Application)Marshal.GetActiveObject("Access.Application");
//アクセスの処理
ac.Quit();
}
accdbかmdbを開いておく必要があるので、ダミーファイルが必要になってしまうのと、
Run実行後にAccessのダイアログが入るのがいまいち。
開くを押下後でないとGetActiveObjectで例外エラーになるのでダイアログをどうにかする必要がある。
レジストリ書き換えるか何かほかに方法があるか...