¿Cómo agregar código VBA en excel.Worksheet en powershell?

Necesito incluir unPrivate Sub **Worksheet_BeforeDoubleClick** (ByVal Target As Range, Cancel As Boolean) en mi hoja (1).

Puedo abrir y escribir en celdas correctamente pero no sé cómo colocar el código VBA en la hoja (en lugar de en un módulo VBA).

$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()

He intentado esto:

$xlmodule = $workbook.VBProject.VBComponents.Add()
$xlmodule.CodeModule.AddFromString($code)

Pero tengo este error:

Can not call a method in an expression Null.
Au caractère .\Build-ADGrpsMembers2Excel.ps1:273 : 5
+     $xlmodule = $workbook.VBProject.VBComponents.Add(1)
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation : (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Respuestas a la pregunta(1)

Su respuesta a la pregunta