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

申明

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

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

原文地址:https://www.cnblogs.com/Athrun/p/1308262.html