• 如何使用 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

    申明

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

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

  • 相关阅读:
    Java实现 LeetCode 400 第N个数字
    Java实现 LeetCode 400 第N个数字
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 398 随机数索引
    Java实现 LeetCode 398 随机数索引
    Java实现 LeetCode 398 随机数索引
    linux中的cd ..和cd -命令有什么区别?
    GCC使用
  • 原文地址:https://www.cnblogs.com/Athrun/p/1308262.html
Copyright © 2020-2023  润新知