zoukankan      html  css  js  c++  java
  • VbScript封裝MS OWC(二)

      1 ''OWC1.VBS
      2 class owc
      3     private o
      4     '傳入物件
      5     public sub create(id_,width_,height_,location_)
      6         Set o = document.createElement("object")
      7         o.setAttribute "id",id_
      8         o.setAttribute "classid","CLSID:0002E55D-0000-0000-C000-000000000046"
      9         o.setAttribute codebase="owc11.dll"
     10         o.style.width=width_
     11         o.style.height=height_
     12         document.getElementById(location_).appendChild(o)
     13     end sub
     14     '畫圖矩形圖
     15     'chart_bgcolor_圖表的背景顏色
     16     'chartCaption_圖表的標題
     17     'chartCaption_fontColor_圖表標題顏色
     18     'Interior_Color_矩形內的填充顏色
     19     'Caption_名稱
     20     'categories_名稱數組
     21     'values_值數組串
     22     public sub bar(chart_bgcolor_,chartCaption_,chartCaption_fontColor_,Interior_Color_,Caption_,categories_,values_)
     23         o.Clear
     24         set cht = o.Charts.Add
     25         set c = o.Constants
     26         cht.Type = c.chChartTypeColumnClustered
     27         '設背景色或是填充
     28         o.Charts(0).PlotArea.Interior.SetSolid chart_bgcolor_
     29 
     30         '加上圖表的標題
     31         o.HasChartSpaceTitle = True
     32         set cst=o.ChartSpaceTitle
     33         cst.Caption = chartCaption_
     34         cst.Font.Color = chartCaption_fontColor_
     35         cst.Font.Italic = False
     36         cst.Font.Name = "Arial"
     37         cst.Font.Size = 12
     38         cst.Font.Underline = c.owcUnderlineStyleSingle    
     39 
     40         '添加數據
     41         cht.SetData c.chDimCategories, c.chDataLiteral, categories_
     42         cht.SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, values_
     43         '直條的背景色進行設定
     44         set sc=o.Charts(0).SeriesCollection(0)
     45         sc.Interior.Color=Interior_Color_
     46 
     47         '直條上的顯示設置
     48         sc.Caption=Caption_
     49         set dl = cht.SeriesCollection(0).DataLabelsCollection.Add
     50         dl.HasValue = True
     51         dl.HasPercentage = False
     52         dl.Font.Size = 9
     53         dl.Font.Color = "red"
     54         dl.Position = c.chLegendPositionRight
     55         dl.NumberFormat = "00.00%"
     56         '左邊百分比的屬性設置
     57         Set cta = cht.Axes(c.chAxisPositionLeft)
     58         cta.Font.Size = 9
     59         cta.NumberFormat = "0.0%"
     60         cta.MajorUnit = 0.1
     61     end sub
     62     '多系列矩形圖
     63     'chart_bgColor_圖表的背景顏色
     64     'chartCaption_圖表的標題
     65     'chartCaption_fontColor_圖表標題顏色
     66     'color_顏色數組
     67     'caption_名稱數組
     68     'categories_名稱數組
     69     'values_值數組
     70     public sub serBar(chart_bgColor_,chartCaption_,chartCaption_fontColor_,color_,caption_,categories_,values_)            
     71         o.Clear
     72         o.Charts.Add
     73         Set c = o.Constants
     74         '圖表的類型
     75         o.Charts(0).type=c.chChartTypeColumnClustered 
     76         '給繪圖區加背景色
     77         o.Charts(0).PlotArea.Interior.SetSolid chart_bgColor_
     78         ''加上圖表的標題
     79         o.HasChartSpaceTitle = True
     80         o.ChartSpaceTitle.Caption = chartCaption_
     81         '標題的屬性
     82         o.ChartSpaceTitle.Font.Color = chartCaption_fontColor_
     83         o.ChartSpaceTitle.Font.Italic = False
     84         o.ChartSpaceTitle.Font.Name = "Arial"
     85         o.ChartSpaceTitle.Font.Size = 12
     86         o.ChartSpaceTitle.Font.Underline = c.owcUnderlineStyleSingle
     87         '用循環來新增SeriesCollection以及里面的內容
     88         for i=0 to ubound(caption_)
     89             valuetemp=""
     90             for j = i*(ubound(categories_)+1to (i+1)*(ubound(categories_)+1)-1
     91                 valuetemp = valuetemp & "," & values_(j)
     92             next
     93             valuearr = split(mid(valuetemp,2),",")
     94             o.Charts(0).SeriesCollection.Add
     95             o.Charts(0).SeriesCollection(i).Caption = caption_(i)
     96             o.Charts(0).SeriesCollection(i).Interior.Color = color_(i)
     97             o.Charts(0).SeriesCollection(i).SetData c.chDimCategories, c.chDataLiteral, categories_
     98             o.Charts(0).SeriesCollection(i).SetData c.chDimValues, c.chDataLiteral, valuearr
     99             set dl = o.Charts(0).SeriesCollection(i).DataLabelsCollection.Add
    100             dl.HasValue = True
    101             dl.HasPercentage = False
    102             dl.Font.Size = 9
    103             dl.Font.Color = "red"
    104             dl.Position = c.chLegendPositionRight
    105             dl.NumberFormat = "00.00%"
    106         next
    107         ''圖例的設定    
    108         o.Charts(0).HasLegend = True 
    109         o.Charts(0).Legend.Font.Size = 9
    110         o.Charts(0).Legend.Position = c.chLegendPositionBottom        
    111         ''左邊百分比的屬性設置
    112         Set cta = o.Charts(0).Axes(c.chAxisPositionLeft)
    113         cta.Font.Size = 9
    114         cta.NumberFormat = "0.00%"
    115         cta.MajorUnit = 0.1
    116     end sub
    117     '畫圓餅圖
    118     'chart_bgColor_繪圖區加背景色
    119     'chartCaption_圖表的標題
    120     'chartCaption_fontColor_圖表標題顏色
    121     public sub Pie(chart_bgColor_,chartCaption_,chartCaption_fontColor_,Caption_,categories_,values_)
    122         o.Clear
    123         Set cht = o.Charts.Add
    124         Set c = o.Constants
    125         cht.Type = c.chChartTypePie3d
    126         '給繪圖區加背景色
    127         o.Charts(0).PlotArea.Interior.SetSolid chart_bgColor_
    128         cht.ExtrudeAngle = 90
    129         cht.ChartDepth = 169
    130         cht.AspectRatio = 120
    131         cht.Rotation =180
    132         cht.Inclination=70
    133 
    134         o.HasChartSpaceTitle = True
    135         o.ChartSpaceTitle.Caption = chartCaption_
    136         o.ChartSpaceTitle.Font.Color = chartCaption_fontColor_
    137         o.ChartSpaceTitle.Font.Name = "Arial" 
    138         o.ChartSpaceTitle.Font.Size = 12
    139         o.ChartSpaceTitle.Font.Underline = c.owcUnderlineStyleSingle
    140             
    141         cht.HasLegend = True
    142         cht.Legend.Font.Size = 9
    143         cht.Legend.Position = c.chLegendPositionBottom
    144 
    145         cht.SetData c.chDimCategories, c.chDataLiteral, categories_
    146         cht.SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, values_
    147         set sc=o.Charts(0).SeriesCollection(0)
    148         sc.Caption=Caption_
    149         Set dl = cht.SeriesCollection(0).DataLabelsCollection.Add
    150         dl.Separator = ""
    151         dl.HasValue = false
    152         dl.HasSeriesName = false    
    153         dl.HasCategoryName=true
    154         dl.HasPercentage = true
    155         dl.Font.Size = 9
    156         dl.Font.Color = "red"
    157         dl.NumberFormat = "00.00%"
    158     end sub
    159     '拆線圖
    160     'chart_bgColor_繪圖區加背景色
    161     'chartCaption_圖表的標題
    162     'chartCaption_fontColor_圖表標題顏色
    163     public sub line(chart_bgColor_,chartCaption_,chartCaption_fontColor_,Caption_,categories_,values_)
    164         o.Clear
    165         Set cht = o.Charts.Add 
    166         Set c = o.Constants 
    167         cht.Type = c.chChartTypeLineMarkers
    168         '給繪圖區加背景色
    169         o.Charts(0).PlotArea.Interior.SetSolid chart_bgColor_
    170         o.HasChartSpaceTitle = True 
    171         o.ChartSpaceTitle.Caption = chartCaption_
    172         o.ChartSpaceTitle.Font.Color = chartCaption_fontColor_ 
    173         o.ChartSpaceTitle.Font.Name = "Arial" 
    174         o.ChartSpaceTitle.Font.Size = 12
    175         o.ChartSpaceTitle.Font.Underline = c.owcUnderlineStyleSingle
    176         
    177         cht.SetData c.chDimCategories, c.chDataLiteral, categories_
    178         cht.SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, values_ 
    179         
    180         set sc=o.Charts(0).SeriesCollection(0)
    181         sc.Caption=Caption_
    182         Set dl = cht.SeriesCollection(0).DataLabelsCollection.Add 
    183         dl.HasValue = True 
    184         dl.HasPercentage = False 
    185         dl.Font.Size = 9 
    186         dl.Font.Color = "red" 
    187 
    188         Set categoryAxis = cht.Axes(c.chAxisPositionBottom) 
    189         categoryAxis.Font.Size = 9 
    190 
    191         Set categoryAxis = cht.Axes(c.chAxisPositionLeft) 
    192         categoryAxis.Font.Size = 9 
    193     end sub
    194     '多系列拆線圖
    195     'chart_bgColor_圖表的背景顏色
    196     'chartCaption_圖表的標題
    197     'chartCaption_fontColor_圖表標題顏色
    198     'color_顏色數組
    199     'caption_名稱數組
    200     'categories_名稱數組
    201     'values_值數組
    202     public sub serLine(chart_bgColor_,chartCaption_,chartCaption_fontColor_,color_,SeriesNames_,categories_,values_)
    203         o.Clear
    204         Set cht = o.Charts.Add 
    205         Set c = o.Constants 
    206         '設置圖表類型
    207         cht.Type = c.chChartTypeLineMarkers
    208         '給繪圖區加背景色
    209         o.Charts(0).PlotArea.Interior.Color=chart_bgColor_
    210         '加上標題
    211         o.HasChartSpaceTitle = True
    212         o.ChartSpaceTitle.Caption = chartCaption_
    213         o.ChartSpaceTitle.Font.Color = chartCaption_fontColor_
    214         o.ChartSpaceTitle.Font.Name = "Arial"
    215         o.ChartSpaceTitle.Font.Size = 12
    216         ''添加數據
    217         cht.SetData c.chDimSeriesNames, c.chDataLiteral, SeriesNames_
    218         cht.SetData c.chDimCategories, c.chDataLiteral, Categories_
    219      
    220         set categoryAxis = cht.Axes(c.chAxisPositionBottom)
    221         categoryAxis.Font.Size = 9
    222      
    223         Set categoryAxis = cht.Axes(c.chAxisPositionLeft)
    224         categoryAxis.Font.Size = 9
    225 
    226         for i = 0 to ubound(SeriesNames_)
    227             valuetemp = ""
    228             for j = i*(ubound(Categories_)+1to (i+1)*(ubound(Categories_)+1)-1
    229                 valuetemp = valuetemp & "," & values_(j)
    230             next
    231             valuearr = split(mid(valuetemp,2),",")
    232             cht.SeriesCollection(i).SetData c.chDimValues, c.chDataLiteral, valuearr
    233             cht.SeriesCollection(i).Line.Color = color_(i)
    234             cht.SeriesCollection(i).Line.Weight = c.owcLineWeightThin
    235             cht.SeriesCollection(i).Marker.Style = c.chMarkerStyleDiamond
    236             cht.SeriesCollection(i).Interior.Color = color_(i)
    237             Set dl = cht.SeriesCollection(i).DataLabelsCollection.Add
    238             dl.HasValue = true
    239             dl.HasPercentage = false
    240             dl.Font.Size = 9
    241             dl.font.color="red"
    242         next
    243     end sub
    244     '清除圖型
    245     public sub clear()
    246         o.Clear
    247     end sub
    248 end class
     1 <html>
     2 <head>
     3 <title>vbscript owc class test</title>
     4 <script language="vbscript" src="owc1.vbs"></script>
     5 <script language="vbscript">
     6 sub window_onload()
     7     set t = new owc
     8     
     9     categories =Array("A2-1","A2-2","A2-3","A3-1","A3-2","A3-3"_
    10                       ,"B2-1","B2-2","B2-3","B3-1","B3-2","B3-3"_
    11                       ,"C2-1","C2-2","C3-1","C3-2","C3-3")
    12     values = Array(0.813,0.689,0.800,0.833,0.681,0.864,0.743_
    13                    ,0.894,0.822,0.874,0.746,0.908,0.850_
    14                    ,0.728,0.731,0.734,0.624)
    15     t.create "cs1","100%","400px","c1"
    16     t.bar "#FFFFFF","報表標題","BLUE","#CCCC00","組別",categories,values
    17     
    18     color=Array("#CCFFFF","#99CCFF","#00CCFF","#FF0000","#660066","#FF8080")
    19     caption=Array("第1周","第2周","第3周","第4周")
    20     categories=Array("A棟","B棟")
    21     values=Array(0.6951,0.5798,0.7075,0.512,0.7907,0.7493,0.8691,0.7716)
    22     t.create "cs2","100%","400px","c2"
    23     t.serbar "#FFFFFF","2008年10月坑頭三廠各周各樓層達成率比較圖","red",color,caption,categories,values
    24     
    25     categories=array("臺北","上海")
    26     values = array(238760,912560.62)
    27     t.create "cs3","100%","400px","c3"
    28     t.Pie "#FFFFFF","銷售金額所佔比例(城市分類)","BLUE","城市",categories,values
    29     
    30     categories =array("2008/11/1","2008/11/2","2008/11/3","2008/11/4","2008/11/5","2008/11/6","2008/11/7","2008/11/8","2008/11/9","2008/11/10","2008/11/11","2008/11/12","2008/11/13","2008/11/14","2008/11/15","2008/11/16","2008/11/17","2008/11/18","2008/11/19","2008/11/20","2008/11/21","2008/11/22","2008/11/23","2008/11/24","2008/11/25","2008/11/26","2008/11/27","2008/11/28","2008/11/29","2008/11/30"
    31     values = array(67239.89,60400.26,7202.89,18453.12,28889.29,102136.25,78826.39,146291.6,93743.29,44204.44,45349.28,50730.6,37900.21,84359.87,169333.62,114594.96,75334.77,51360.32,55853.05,37912.63,45068.22,63930.98,72993.71,18699.5,24714.5,34792.91,39414.58,92171.2,74433.06,3998894.41)
    32     t.create "cs4","100%","400px","c4"
    33     t.line "#FFFFFF","銷售金額","BLUE","日期",categories,values
    34     
    35     color=Array("#CCFFFF","#99CCFF","#00CCFF","#FF0000")
    36     SeriesNames = array("A產品","B產品","C產品","D產品")
    37     Categories = array("2005/3/24","2005/3/25","2005/3/26","2005/3/27","2005/3/28"
    38     values = array(50,100,20,80,89,40,60,20,90,70,20,50,55,25,60,80,20,75,58,100)
    39     t.create "cs5","100%","400px","c5"
    40     t.serline "#FFFFFF","達成率月報表","red",color,SeriesNames,categories,values
    41     
    42     set t=nothing 
    43 end sub
    44 </script>
    45 </head>
    46 <body>
    47 <div id="c1"></div>
    48 <div id="c2"></div>
    49 <div id="c3"></div>
    50 <div id="c4"></div>
    51 <div id="c5"></div>
    52 </body>
    53 </html>
    54 

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    Redis源代码分析(十三)--- redis-benchmark性能測试
    kvm中运行kvm
    umount.nfs device busy day virsh extend diskSpace, attachDisk
    ultravnc
    openNebula dubug
    maintenance ShellScripts
    virsh VMI deploy data serial xml
    cloud computing platform,virtual authentication encryption
    基于C 的libvirt 接口调用
    storage theory
  • 原文地址:https://www.cnblogs.com/Athrun/p/1373116.html
Copyright © 2011-2022 走看看