基本上我使用的是在 Access 上运行的 OfficeLine,我的程序如下所示:
现在我想从 C# 打开其中一个。
我尝试为此使用 Interop.Access,因为我的 C# 程序是一个类库程序。
然后从 Access 获取所有表单,因为在我的任务管理器中,我的 Officline 看起来像这样:
我得到了带有该代码的表格:
foreach (Form form in accessApp.Forms)
{
try
{
// Überprüfen, ob Formular geöffnet ist
if (!accessApp.Forms[form.Name].CurrentView.Equals(AcFormView.acDesign))
{
//MessageBox.Show("Das ist der if Block: " + form.Name);
if (form.Name == "frmSysControlCenter")
{
foreach (Microsoft.Office.Interop.Access.Control control in form.Controls)
{
}
}
}
else
{
MessageBox.Show("Das ist der else Block: " + form.Name);
}
}
catch
{
// Falls ein Fehler auftritt, das Formular ist nicht geöffnet
}
}
和 frmSysControlCenter 应该是表格,但现在我不知道如何从我的 OfficeLine 访问公式,我想过类似浏览控件的方法,但没有用。
所以有人知道如何从我的第一个屏幕截图中打开像 Stammdaten -> Artikel 这样的公式吗?
我自己找到了一个方法,就是用这个:
dynamic app = Marshal.GetActiveObject("Access.Application");