2017-02-28 72 views
1

我正尝试使用powershell在Excel中创建饼图。我可以使用.Select()或.Activate()突出显示范围,但我无法同时选择两个单独的范围。我需要同时选择它们,以便饼图具有正确的标签。无法在网上找到任何指导,所以任何帮助将不胜感激。使用Powershell在Excel中同时选择多个范围

$headers = $ws.Cells.Item(1,1).EntireRow 
$headers.Activate() 
$ws.Range("A3:ZZ3").Activate() 
+0

我不知道,如果它直接回答你的问题,其中$xl定义,但是这可能帮助:https://开头learn-powershell.net/2012/12/24/powershell-and-excel-adding-a-chart-and-header-filter-to-a-report/ –

+0

这是一般图表语法的一个很好的来源,但不幸的是,与大多数图表,他包括整个表格,因此不必创建非连续单元格的动态范围。 – TLOwater

+0

更快的解决方法是将标题放在饼图旁边,以便您可以在一个范围内选择它们? –

回答

3

This article建议一种选择多个范围的方法。使用上面的代码,试试这个...

[object[]]$args1 = ($headers, $ws.Range("A3:ZZ3")) 
$union=$xl.GetType().InvokeMember("Union", [System.Reflection.BindingFlags]::InvokeMethod, $null, $xl, $args1) 
$union.Select() 

...作为$xl = New-Object -ComObject Excel.Application

+0

非常感谢你非常完美的作品! – TLOwater

+0

酷!将我自己也添加为一个书签:) – TechSpud