0

powershell を使用して Excel にグラフを追加しようとしています。ガイダンスとして次のリンクを使用しました。

http://theolddogscriptingblog.wordpress.com/2010/07/03/how-do-i-change-the-size-or-position-of-my-chart-with-powershell/

コードは次のとおりです。

# <---- Start Code ---------------------------------------> 
$xl = New-Object -comobject Excel.Application
# Show Excel
$xl.visible = $true
$xl.DisplayAlerts = $False
# Open a workbook
$wb = $xl.workbooks.add() 
#Create Worksheets
$ws = $wb.Worksheets.Item(1) # Opens Excel and 3 empty Worksheets
1..8 | % { $ws.Cells.Item(1,$_) = $_ } # adds some data
1..8 | % { $ws.Cells.Item(2,$_) = 9-$_ } # adds some data
$range = $ws.range("a${xrow}:h$yrow") # sets the Data range we want to chart
# create and assign the chart to a variable
#$ch = $xl.charts.add() # This will open a new sheet
$ch = $ws.shapes.addChart().chart # This will put the Chart in the selected WorkSheet
$ch.chartType = 58
$ch.setSourceData($range)
$RngToCover = $ws.Range("D5:J19") # This is where we want the chart
$ChtOb = $ch.Parent # This selects the current Chart
$ChtOb.Top = $RngToCover.Top # This moves it up to row 5
$ChtOb.Left = $RngToCover.Left # and to column D 
$ChtOb.Height = $RngToCover.Height # resize This sets the height of your chart to Rows 5 - 19
$ChtOb.Width = $RngToCover.Width # resize This sets the width to Columns D - J
<------------- End Code --------------------------------------> 

これは、Excel 2010 を使用するあるマシンでは機能しますが、Excel 2003 を使用する別のマシンでは次のメッセージで失敗します。

「[System.__ComObject] に 'addchart' という名前のメソッドが含まれていないため、メソッドの呼び出しに失敗しました。」

これは、使用している Excel のバージョンの制限ですか? powershell を使用して、Excel 2003 のワークシート内にグラフを追加するにはどうすればよいですか?

4

1 に答える 1

1

ドキュメントによると、メソッドは Excel 2007 で追加されたため、Excel 2003 では使用できません。Excel 2003 でグラフ作成をマクロとして記録し、結果を PowerShell に変換してみてください。あなたはおそらく次のようなものを得るでしょう:

$chart = $xl.Charts.Add
$chart.ChartType = ...
$chart.SetSourceData $xl.Sheets(1).Range(...), ...
$chart.Location ...
于 2013-03-31T23:27:55.893 に答える