在excel文件中添加宏

时间:2017-10-27 05:55:15

标签: c# excel vba excel-vba

我尝试使用c#.net代码生成excel时添加宏。生成excel时出现此错误

  

不信任对Visual Basic Project的编程访问

我知道我必须在excel选项中使宏受信任。 我怎样才能在c#.code中激活它?

这是我用过的代码。

StringBuilder sb;
VBIDE.VBComponent xlModule; 
sb = new StringBuilder();

xlApp.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityByUI;
 sb.AppendLine("Private Sub Worksheet_Change(ByVal Target As Range)");
sb.AppendLine("Target.Offset(0, 2).ClearContents");
xlModule = wrkBook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule); 
xlModule.CodeModule.AddFromString(sb.ToString());

1 个答案:

答案 0 :(得分:0)

可以通过registry

进行更改
Microsoft.Win32.Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Office\" 
                                   + xlApp.Version + "\Excel\Security", "AccessVBOM", 1);