Windows Scripting Host 2.0
Written 9/6/99
6. オブジェクトの定数を使う
タイプライブラリを参照することによって、 オブジェクトの定数を使うことができるようになりました。
例えば、次のように参照設定します。
    <REFERENCE GUID="{00020813-0000-0000-C000-000000000046}"/>
 
これで Excel の定数が使えるようになります。
GUID はレジストリの HKEY_CLASSES_ROOT\TypeLib の下を適当に調べてください。
<REFERENCE …/> は <REFERENCE …></REFERENCE> の略記法(?) です。

次の例は、Excel を立ち上げて、グラフを描かせるスクリプトです。 xlXYScatter などの定数を使っています。

    scripts/ref.wsf (ファイルに保存にしてください)
    -------------------------------------------------------------
    <JOB ID="ref">
     <REFERENCE GUID="{00020813-0000-0000-C000-000000000046}"/>
    
     <SCRIPT LANGUAGE="JavaScript">
      var objXL = WScript.CreateObject("Excel.Application");
      objXL.Workbooks.Add();
      objXL.Visible = true;
      
      //円のデータ
      for(i = 0; i <= 50; i++) {
        objXL.Cells(i + 1, 1).Value = Math.sin(Math.PI * i / 25);
        objXL.Cells(i + 1, 2).Value = Math.cos(Math.PI * i / 25);
      }
      
      with(objXL) {
        //グラフの作成
        ActiveSheet.ChartObjects.Add(60, 30, 330, 300).Select;
        with(ActiveSheet.ChartObjects(1).Chart) {
            Type = xlXYScatter;
            HasLegend = false;
            SeriesCollection.Add(objXL.Range("A1:A51"));
            with(SeriesCollection(1)) {
                XValues = objXL.Range("B1:B51");
                MarkerStyle = xlNone;
                Border.LineStyle = xlAutomatic;
            }
            with(PlotArea) {
                Border.LineStyle = xlAutomatic;
                Interior.ColorIndex = xlNone;
            }
            with(Axes(xlValue)) {
                TickLabelPosition = xlNone;
                MajorTickMark = xlNone;
                MajorGridlines.Delete();
            }
            with(Axes(xlCategory)) {
                TickLabelPosition = xlNone;
                MajorTickMark = xlNone;
            }
        }
      }
     </SCRIPT>
    </JOB>
 
Back