|
<#
オブジェクト作成
Excel を表示状態にする
#>
$ExcelApp = New-Object -ComObject "Excel.Application"
<#
警告を出さないようにする
#>
$ExcelApp.DisplayAlerts = $false
#$ExcelApp.Visible = $true
<#
ブック追加
追加したブックを取得
※ 何故か Add でメンパーの一覧が表示されるので Out-Null
#>
$ExcelApp.Workbooks.Add() | Out-Null
$ExcelBook = $ExcelApp.Workbooks.Item( $ExcelApp.Workbooks.Count )
<#
シートの処理
Worksheet を選択 ( 最初のシート )
#>
$MySheet = $ExcelBook.Sheets.Item(1)
#シートへグラフ用データをセット
$MySheet.Range("A1").Value2 = ""
$MySheet.Range("B1").Value2 = "Q1"
$MySheet.Range("C1").Value2 = "Q2"
$MySheet.Range("D1").Value2 = "Q3"
$MySheet.Range("E1").Value2 = "Q4"
$MySheet.Range("A2").Value2 = "日本"
$MySheet.Range("B2").Value2 = "1.5"
$MySheet.Range("C2").Value2 = "2"
$MySheet.Range("D2").Value2 = "1.5"
$MySheet.Range("E2").Value2 = "2.5"
$MySheet.Range("A3").Value2 = "アメリカ"
$MySheet.Range("B3").Value2 = "2"
$MySheet.Range("C3").Value2 = "1.75"
$MySheet.Range("D3").Value2 = "2"
$MySheet.Range("E3").Value2 = "2"
$MySheet.Range("A4").Value2 = "ヨーロッパ"
$MySheet.Range("B4").Value2 = "2.25"
$MySheet.Range("C4").Value2 = "2"
$MySheet.Range("D4").Value2 = "2.5"
$MySheet.Range("E4").Value2 = "2"
$MySheet.Range("A5").Value2 = "アジア"
$MySheet.Range("B5").Value2 = "2.5"
$MySheet.Range("C5").Value2 = "2.5"
$MySheet.Range("D5").Value2 = "2"
$MySheet.Range("E5").Value2 = "2.75"
#データの範囲
$dataRange = $MySheet.Range("A1:E5")
$chartObjects = $MySheet.ChartObjects()
# 座標は、グラフのエリア
$newChartObject = $chartObjects.Add(0, 100, 300, 300)
$MyChart = $newChartObject.Chart
$MyChart.ChartType = 54
$MyChart.SetSourceData( $dataRange )
$ExcelBook.ExportAsFixedFormat( 0, "C:\ps\excel\chart.pdf" )
$BookPath = "C:\ps\excel\chart.xls"
try {
$v = ($ExcelApp.Version).substring(0,2)
$n = [int] $v;
if ( $n -ge 12 ) {
"Office2007以上"
$ExcelBook.SaveAs( $BookPath, 56 )
}
else {
$ExcelBook.SaveAs( $BookPath )
}
}
catch {
# 一番最新のエラー内容
$Error[0]
}
# Excel をアプリケーションとして終了
$ExcelApp.Quit()
| |