Я автоматизирую диаграмму в Excel из PowerShell.
$ExcelObject=New-Object -ComObject Excel.Application
$ExcelWorkbook=$ExcelObject.WorkBooks.Open("$OutputFolder\$MySpreadsheet.xlsx")
$ActiveWorksheet=$ExcelWorkbook.WorkSheets.item("Results")
$ActiveChart=$ActiveWorksheet.Shapes.AddChart().Chart
$ActiveChart.chartType = 73
$TableRange="P11:P15"
$currentRange=$ActiveWorksheet.Range($TableRange)
$ActiveChart.SetSourceData($currentRange)
$ActiveChart.SeriesCollection.NewSeries
$ActiveChart.FullSeriesCollection(1).Visible
$ActiveChart.FullSeriesCollection(1).Name="Series1"
$ActiveChart.FullSeriesCollection(1).XValues="=Results!`$M`$11:`$M`$15"
$ActiveChart.FullSeriesCollection(1).Values="=Results!`$P`$11:`$P`$15"
$ActiveChart.SeriesCollection.NewSeries
$ActiveChart.FullSeriesCollection(2).Visible
$ActiveChart.FullSeriesCollection(2).Name="Series2"
$ActiveChart.FullSeriesCollection(2).XValues="=Results!`$M`$11:`$M`$15"
$ActiveChart.FullSeriesCollection(2).Values="=Results!`$Z`$11:`$Z`$15"
$ActiveChart.SeriesCollection.NewSeries
$ActiveChart.FullSeriesCollection(3).Visible
$ActiveChart.FullSeriesCollection(3).Name="Series3"
$ActiveChart.FullSeriesCollection(3).XValues="=Results!`$M`$11:`$M`$15"
$ActiveChart.FullSeriesCollection(3).Values="=Results!`$W`$11:`$W`$15"
Однако я получаю «Параметр не действителен» для любой команды в наборе FullSeriesCollection (3). Я переключил содержимое, и независимо от того, какой блок серии 3, Excel возвращает эту ошибку. Если я строю диаграмму из макроса и переключаюсь на VBA, она делает ту же ссылку на FullSeriesCollection (3) и отлично работает вручную в Excel.