zoukankan      html  css  js  c++  java
  • 如何使用 JScript 從 HTML 網頁自動化 Excel

    <HTML>
    <BODY>
    Press the button to start Excel and display quarterly data.
    <SCRIPT LANGUAGE="VBScript">
    Function CreateNamesArray()
    ' Create an array to set multiple values at once.
      Dim saNames(52)
      saNames(
    00= "John"

      saNames(
    01= "Smith"
      saNames(
    10= "Tom"
      saNames(
    11= "Brown"
      saNames(
    20= "Sue"
      saNames(
    21= "Thomas"
      saNames(
    30= "Jane"
      saNames(
    31= "Jones"
      saNames(
    40= "Adam"
      saNames(
    41= "Johnson"
      CreateNamesArray 
    = saNames
    End Function
    </SCRIPT>

    <SCRIPT LANGUAGE="JScript"> 
    function AutomateExcel()
    {

       
    // Start Excel and get Application object.
          var oXL = new ActiveXObject("Excel.Application");
           
          oXL.Visible 
    = true;
          
       
    // Get a new workbook.
          var oWB = oXL.Workbooks.Add();
          
    var oSheet = oWB.ActiveSheet;
             
       
    // Add table headers going cell by cell.
          oSheet.Cells(11).Value = "First Name";
          oSheet.Cells(
    12).Value = "Last Name";
          oSheet.Cells(
    13).Value = "Full Name";
          oSheet.Cells(
    14).Value = "Salary";
             
       
    // Format A1:D1 as bold, vertical alignment = center.
          oSheet.Range("A1""D1").Font.Bold = true;
          oSheet.Range(
    "A1""D1").VerticalAlignment =  -4108//xlVAlignCenter
             
       
    // Create an array to set multiple values at once.

       
    // Fill A2:B6 with an array of values (from VBScript).
          oSheet.Range("A2""B6").Value = CreateNamesArray();
         
       
    // Fill C2:C6 with a relative formula (=A2 & " " & B2).
          var oRng = oSheet.Range("C2""C6");
          oRng.Formula 
    = "=A2 & \" \" & B2";
             
       
    // Fill D2:D6 with a formula(=RAND()*100000) and apply format.
          oRng = oSheet.Range("D2""D6");
          oRng.Formula 
    = "=RAND()*100000";
          oRng.NumberFormat 
    = "$0.00";
             
       
    // AutoFit columns A:D.
          oRng = oSheet.Range("A1""D1");
          oRng.EntireColumn.AutoFit();
             
       
    // Manipulate a variable number of columns for Quarterly Sales Data.
          DispalyQuarterlySales(oSheet);
            
       
    // Make sure Excel is visible and give the user control
       // of Excel's lifetime.
          oXL.Visible = true;
          oXL.UserControl 
    = true;
    }
          
    function DispalyQuarterlySales(oWS)
    {
          
    var iNumQtrs, sMsg, iRet;

        
    // Number of quarters to display data for.
          iNumQtrs = 4;
                   
        
    // Starting at E1, fill headers for the number of columns selected.
          var oResizeRange = oWS.Range("E1""E1").Resize(1,iNumQtrs);
          oResizeRange.Formula 
    = "=\"Q\" & COLUMN()-4 & CHAR(10) & \"Sales\"";
             
        
    // Change the Orientation and WrapText properties for the headers.
          oResizeRange.Orientation = 38;
          oResizeRange.WrapText 
    = true;
             
        
    // Fill the interior color of the headers.
          oResizeRange.Interior.ColorIndex = 36;
             
        
    // Fill the columns with a formula and apply a number format.
          oResizeRange = oWS.Range("E2""E6").Resize(5,iNumQtrs);
          oResizeRange.Formula 
    = "=RAND()*100";
          oResizeRange.NumberFormat 
    = "$0.00";
             
        
    // Apply borders to the Sales data and headers.
          oResizeRange = oWS.Range("E1""E6").Resize(6,iNumQtrs);
          oResizeRange.Borders.Weight 
    = 2;  // xlThin
             
        
    // Add a Totals formula for the sales data and apply a border.
          oResizeRange = oWS.Range("E8""E8").Resize(1,iNumQtrs);
          oResizeRange.Formula 
    = "=SUM(E2:E6)";
        
    // 9 = xlEdgeBottom      
          oResizeRange.Borders(9).LineStyle = -4119//xlDouble
          oResizeRange.Borders(9).Weight = 4//xlThick
             
        
    // Add a Chart for the selected data.

          oResizeRange 
    = oWS.Range("E2:E6").Resize(5,iNumQtrs);
          
    var oChart = oWS.Parent.Charts.Add();
          oChart.ChartWizard(oResizeRange, 
    -4100null2);  // -4100 = xl3dColumn
          oChart.SeriesCollection(1).XValues = oWS.Range("A2""A6");
          
    for (iRet = 1; iRet <= iNumQtrs; iRet++) {
             oChart.SeriesCollection(iRet).Name 
    = "=\"Q" + iRet + "\"";
          }
          oChart.Location(
    2, oWS.Name); // 2 = xlLocationAsObject
             
        
    // Move the chart so as not to cover your data.
          oWS.Shapes("Chart 1").Top = oWS.Rows(10).Top;
          oWS.Shapes(
    "Chart 1").Left = oWS.Columns(2).Left;
    }
    </SCRIPT>
    <P><INPUT id=button1 type=button value="Start Excel" 
              onclick
    ="AutomateExcel"></P>
    </BODY>
    </HTML>

    http://support.microsoft.com/kb/q234774/

    http://www.google.cn/search?hl=zh-CN&q=msowc%E7%9A%84%E5%9B%BE%E8%A1%A8%E5%AF%BC%E5%85%A5%E5%88%B0excel%E4%B8%AD&btnG=Google+%E6%90%9C%E7%B4%A2&meta=

    http://support.microsoft.com/?scid=ph;zh-tw;2512

    申明

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

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

  • 相关阅读:
    数据结构与算法
    android vitamio的坑
    Fragment的坑
    scrollview里面嵌套listview的坑
    关于微信小程序的tabbar
    Intent初级学习
    HDU 4562 守护雅典娜
    SGU 542 Gena vs Petya
    [二] EditText and Button
    A Data Structure for Dynamic Trees
  • 原文地址:https://www.cnblogs.com/Athrun/p/1308262.html
Copyright © 2011-2022 走看看