簡體   English   中英

使用Powershell將復選框和VBA代碼插入Excel

[英]Insert checkbox and VBA code into Excel using Powershell

我需要有關如何在Excel中包括一個復選框並在其打勾時使Msgbox顯示為“ Hello”的信息,需要幫助。 那並不是我真正需要做的,但是我可以從那里找到自己的方式。

這應該使用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
########################################

謝謝。

添加復選框非常簡單:

$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返回null。 我對PowerShell的了解非常有限。 我想知道這是否可能是一個安全問題。 excel的最新版本對以編程方式添加VBA代碼非常嚴格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM