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 

    申明

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

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

  • 相关阅读:
    OEA框架学习:缓存
    2012年 博文整理
    技术支持经验总结
    OEA框架学习:元数据设计
    安装后新建Android出现“AndroidManifest.xml 系统找不到指定的文件”解决方案
    Android控件学习笔记之 GridView(实现九宫格)
    获取url地址中主机的域名
    C# 语音读取字符串
    JSON省市联动
    MOTO Droid手机自定义本地铃声设置方法
  • 原文地址:https://www.cnblogs.com/Athrun/p/1373116.html
Copyright © 2011-2022 走看看