Mid*_*das 3 c# macros ms-access office-interop access-vba
是否可以使用C#中的Interop库以与Word,Excel或PowerPoint类似的方式创建新的宏?在其他应用程序,您可以访问Microsoft.Vbe.Interop._VBComponent,它允许你注入新的宏,通过Document,Worksheet或Presentation类.它看起来不像Access有类似的东西.Access有一个AllMacros列表,但它似乎是只读的.我知道如何在项目中执行宏,但我需要能够动态添加宏.我非常感谢能够指出正确方向的人.
由于HK1的答案,我能够做到我所需要的.我想发布我的代码,因为在任何地方几乎没有关于如何执行此操作的信息.我会留下HK1的帖子作为答案,因为他是引导我的原因.
以编程方式通过Interop将VB模块添加到MS-Access
try
{
Microsoft.Office.Interop.Access.Application accessApp = new Microsoft.Office.Interop.Access.Application();
accessApp.Visible = true;
accessApp.OpenCurrentDatabase(filePath);
// Get the active VBProject item
VBProject project = accessApp.VBE.VBProjects.Item(1);
VBComponent module = project.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule);
module.CodeModule.AddFromString(script);
}
catch (Exception ex)
{
// Trust or the VBA Project Module has not been enabled.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2058 次 |
| 最近记录: |