VBScriptでExcelをオートメーション操作してみましょう。
一例として次のグラフを作成してみます(右側の文字は違いますよ)。
VBScriptを使って次のことを一気に自動化しています。
・Excelを起動する
・新規ワークブックを作成する
・シートにグラフ用データを入力する
・入力したデータをもとにグラフを作成
そうしてできたグラフが上の図です。
'*********************************************************** ' 新しいグラフを作成する '*********************************************************** Set ExcelApp = CreateObject("Excel.Application") 'Excelを表示状態にする ExcelApp.Visible = True 'ブック追加 Set ExcelBook = ExcelApp.Workbooks.Add 'Worksheetを選択 (アクティブシート) Set MySheet = ExcelBook.ActiveSheet ' シートへグラフ用データをセット 'MySheet.Cells(1, 1) = "" MySheet.Range("B1") = "Q1" MySheet.Range("C1") = "Q2" MySheet.Range("D1") = "Q3" MySheet.Range("E1") = "Q4" MySheet.Range("A2:E2") = Array("北アメリカ",1.5,2,1.5,2.5) MySheet.Range("A3:E3") = Array("南アメリカ",2,1.75,2,2) MySheet.Range("A4:E4") = Array("ヨーロッパ",2.25,2,2.5,2) MySheet.Range("A5:E5") = Array("アジア",2.5,2.5,2,2.75) 'データの範囲 Set dataRange = MySheet.Range("A1:E5") '座標は、グラフのエリア Set newChartObject = MySheet.ChartObjects.Add(0, 100, 300, 300) Set MyChart = newChartObject.Chart MyChart.ChartType = 78 MyChart.SetSourceData MySheet.Range("A1:E5") '*********************************************************** '値 意味 '-4098 3-D 面 '78 3-D 積み上げ面 '79 100% 積み上げ面 '60 3-D 集合横棒 '61 3-D 積み上げ横棒 '62 3-D 100% 積み上げ横棒 '-4100 3-D 縦棒 '54 3-D 集合縦棒 '55 3-D 積み上げ縦棒 '56 3-D 100% 積み上げ縦棒 '-4101 3-D 折れ線 '-4102 3-D 円 '70 分割 3-D 円 '1 面 '76 積み上げ面 '77 100% 積み上げ面 '57 集合横棒 '71 補助縦棒グラフ付き円 '58 積み上げ横棒 '59 100% 積み上げ横棒 '15 バブル '87 3-D 効果付きバブル '51 集合縦棒 '52 積み上げ縦棒 '53 100% 積み上げ縦棒 '102 集合円錐型横棒 '103 積み上げ円錐型横棒 '104 100% 積み上げ円錐型横棒 '105 3-D 円錐型縦棒 '99 集合円錐型縦棒 '100 積み上げ円錐型縦棒 '101 100% 積み上げ円錐型縦棒 '95 集合円柱型横棒 '96 積み上げ円柱型横棒 '97 100% 積み上げ円柱型横棒 '98 3-D 円柱型縦棒 '92 集合円錐型縦棒 '93 積み上げ円錐型縦棒 '94 100% 積み上げ円柱型縦棒 '-4120 ドーナツ '80 分割ドーナツ '4 折れ線 '65 マーカー付き折れ線 '66 マーカー付き積み上げ折れ線 '67 マーカー付き 100% 積み上げ折れ線 '63 積み上げ折れ線 '64 100% 積み上げ折れ線 '5 円 '69 分割円 '68 補助円グラフ付き円 '109 集合ピラミッド型横棒 '110 積み上げピラミッド型横棒 '111 100% 積み上げピラミッド型横棒 '112 3-D ピラミッド型縦棒 '106 集合ピラミッド型縦棒 '107 積み上げピラミッド型縦棒 '108 100% 積み上げピラミッド型横棒 '-4151 レーダー '82 塗りつぶしレーダー '81 データ マーカー付きレーダー '88 高値 - 安値 - 終値 '89 始値 - 高値 - 安値 - 終値 '90 出来高 - 高値 - 安値 - 終値 '91 出来高 - 始値 - 高値 - 安値 - 終値 '83 3-D 表面 '85 表面 (トップ ビュー) '86 表面 (トップ ビュー - ワイヤーフレーム) '84 3-D 表面 (ワイヤーフレーム) '-4169 散布図 '74 折れ線付き散布図 '75 折れ線付き散布図 (データ マーカーなし) '72 平滑線付き散布図 '73 平滑線付き散布図 (データ マーカーなし)
上のスクリプトをメモ帳等のテキストエディタでExcel-Graph.vbs等拡張子.vbsのテキストファイルで保存して実行します。
35行目でグラフの種類を指定していますが、後半の一覧を元にして数値を書き換え、色んなグラフを試してみて下さい。
コメント