【发布时间】:2014-02-12 06:21:24
【问题描述】:
我需要在工作表 (1) 中包含 Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)。
我可以在单元格中打开和书写。
$excel = New-Object -ComObject Excel.Application
$workbook = $excel.Workbooks.Add()
$worksheet = $workbook.WorkSheets.item(1)
$worksheet.range("c1","g6").value = "str"
...
$workbook.SaveAs($xlFlie, 50)
$Excel.Application.Quit()
如何将 VBA 代码放入工作表中(而不是放入 VBA 模块中)?
我试过了:
$xlmodule = $workbook.VBProject.VBComponents.Add()
$xlmodule.CodeModule.AddFromString($code)
我收到了这个错误:
不能在表达式 Null 中调用方法。
特征 .\Build-ADGrpsMembers2Excel.ps1:273 : 5
+ $xlmodule = $workbook.VBProject.VBComponents.Add(1)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
+ CategoryInfo : InvalidOperation : (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
【问题讨论】:
标签: excel vba powershell