使用Powershell设置Excel复选框值

时间:2018-09-11 22:24:34

标签: excel powershell

我正在创建一个在Excel工作簿中运行Excel宏的Talend作业。这是通过Talend运行可打开现有电子表格的powershell命令来完成的。

为了运行宏,必须将窗体上的复选框设置为true。我查看了论坛和一些基本文档,但是没有找到适合我的解决方案。

例如,我发现以下命令打开excel并创建一个复选框。我如何将这个新复选框设置为true?

$missing = [System.Type]::missing
$excel = New-Object -Com Excel.Application
$wb = $excel.Workbooks.Add($missing)
$ws = $wb.Worksheets.Item(1)
$excel.Visible = $true
$oleObjects = $ws.OLEObjects($missing)
$checkbox = $oleObjects.Add("Forms.CheckBox.1",$missing,0,0,$missing,$missing,$missing,22.5,21,122.25,18.75)

有人知道答案吗?还是一个很好的教程,将显示执行此操作所需的命令?

*我正在帮忙这个项目,所以目前不需要学习Powershell的基础知识。我意识到我已经跳过了学习Powershell的重要步骤。

2 个答案:

答案 0 :(得分:0)

我不知道此特定用例的任何教程。 您确实不能跳过在PowerShell上进行一些培训/阅读并期望这样做以及对与之交互的MS Excel对象模型的理解。

我将保留该内容,并为您提供以下资源:

Introducing the PowerShell Excel Module

powershell-and-excels-form-controls

automating-excel-spreadsheets-with-powershell

答案 1 :(得分:0)

我发现了如何在电子表格上创建一个复选框并设置其值。但是,我还没有找到如何设置现有复选框的值。

$excel = new-object -comobject Excel.Application
$workbooks = $excel.Workbooks.Add()
$worksheets = $workbooks.worksheets
$worksheet = $worksheets.Item(1)
$worksheet.Name = “mine”
$excel.Visible = $True
$CheckBoxes = $worksheet.CheckBoxes()
$checkbox = $CheckBoxes.Add(1,1,1,1)
$checkbox.Value = 1