如何使用 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( 5 2 )
  saNames(
0 0 =   " John "

  saNames(
0 1 =   " Smith "
  saNames(
1 0 =   " Tom "
  saNames(
1 1 =   " Brown "
  saNames(
2 0 =   " Sue "
  saNames(
2 1 =   " Thomas "
  saNames(
3 0 =   " Jane "
  saNames(
3 1 =   " Jones "
  saNames(
4 0 =   " Adam "
  saNames(
4 1 =   " 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( 1 1 ).Value  =   " First Name " ;
      oSheet.Cells(
1 2 ).Value  =   " Last Name " ;
      oSheet.Cells(
1 3 ).Value  =   " Full Name " ;
      oSheet.Cells(
1 4 ).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, 
- 4100 null 2 );   //  -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

你可能感兴趣的:(script)