Добавление флажка довольно просто:
$oleObjects = $ws.OLEObjects($missing)
$checkbox = $oleObjects.Add("Forms.CheckBox.1",$missing,0,0,$missing,$missing,$missing,22.5,21,122.25,18.75)
Добавление кода VBA на лету, однако, сводит меня с ума.В C # взаимодействия это будет примерно так:
Microsoft.Vbe.Interop.VBProject Project = Workbook.VBProject;
Microsoft.Vbe.Interop.VBComponent Module = Project.VBComponents.Add(Microsoft.Vbe.Interop.vbext_ComponentType.vbext_ct_StdModule);
Microsoft.Vbe.Interop.CodeModule Code = Module.CodeModule;
Module.Name = Name;
Code.AddFromString(VBACode);
В PowerShell VBProject.VBComponets возвращает нольМои знания PowerShell довольно ограничены.Интересно, может ли это быть проблемой безопасности.Последние версии Excel очень строго относятся к программному добавлению кода VBA.