使用Powershell将checkbox和VBA代码插入到Excel中

我需要帮助如何在Excel中包含一个checkbox,并使一个Msgbox打勾时显示“你好”。 这不是我需要做的,但我可以从那里find自己的方式。

这应该使用Powershell来完成。 刚刚开始。

$missing = [System.Type]::missing $excel = New-Object -Com Excel.Application $wb = $excel.Workbooks.Add($missing) $ws = $wb.Worksheets.Item(1) ######################################## # INSERT CHECKBOX HERE # INSERT VBA CODE HERE ######################################## 

谢谢。

添加checkbox非常简单:

 $oleObjects = $ws.OLEObjects($missing) $checkbox = $oleObjects.Add("Forms.CheckBox.1",$missing,0,0,$missing,$missing,$missing,22.5,21,122.25,18.75) 

不过,dynamic添加VBA代码让我非常吃惊。 在C#interop中会是这样的:

 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返回null。 我对PowerShell的了解相当有限。 我想知道这是不是一个安全问题。 最近版本的Excel是非常严格的编程添加VBA代码。