How to automate Excel from a client-side VBScript


This article illustrates Microsoft Visual Basic, Scripting Edition (VBScript) client-side code that launches and automates Microsoft Office Excel or Microsoft Excel when a user clicks a button on a Web page.

More Information

Sample code

  1. Create the following HTML file in any text editor and save the file as c:\excel.htm.

    <INPUT id=button1 name=button1 type=button value=Button>
    sub button1_onclick()
    ' Launch Excel
              dim app
              set app = createobject("Excel.Application")
    ' Make it visible
              app.Visible = true
    ' Add a new workbook
              dim wb
              set wb = app.workbooks.add
    ' Fill array of values first...
              dim arr(19,9) ' Note: VBScript is zero-based
              for i = 1 to 20
                 for j = 1 to 10
                    arr(i-1,j-1) = i*j
    ' Declare a range object to hold our data
              dim rng
              set rng = wb.Activesheet.Range("A1").Resize(20,10)
    ' Now assign them all in one shot...
              rng.value = arr
    ' Add a new chart based on the data
              wb.ActiveChart.ChartType = 70 'xl3dPieExploded
              wb.ActiveChart.SetSourceData rng, 2 ' xlColumns
              wb.ActiveChart.Location 2, "Sheet1" 'xlLocationAsObject
    ' Rotate it around...
              for i = 1 to 360 step 30
                 wb.activechart.rotation = i
    ' Give the user control of Excel
              app.UserControl = true
    end sub
  2. Start Microsoft Internet Explorer, type c:\excel.htm in the Address bar, and then press ENTER.

  3. Click the button that is displayed on the page.


If you are prompted by a security warning about an ActiveX control on the page, click Yes.