Post on 06-Jan-2016
description
1
VBScript
Session 16
2
Last time we’ve learned
Regulars Expressions. Methods and properties. How to use the object and his
collections. How to create complex patterns.
3
Subjects for session 16
Microsoft Excel Object Model. Workbooks and Worksheets Ranges and Cells. Worksheet Functions.
4
Microsoft Excel Object Model
5
Microsoft Excel Object Model
6
Workbooks Use the Workbooks property of the “Excel.Application”
object to return the Workbooks collection.
Dim objAppXL
Set objAppXL = CreateObject(“Excel.Application”)objAppXL.Visible = False
With objAppXL.Workbooks.Add ‘--- Create an new empty workbook..Open “bugs.xls” ‘--- Open an existing workbook..Close ‘--- Close all open workbook.
End With
objAppXL.QuitSet objAppXL = Nothing
7
Workbooks Use the Workbooks collection with an index or a name to
reference a workbook.
‘--- Set focus on the firstopened/created workbook.objAppXL.Workbooks(1).Activate‘--- Set focus on the bugs.xls workbook.objAppXL.Workbooks(“bugs.xls”).Activate
You can also use the ActivateWorkbook property.
‘--- Set focus on the firstopened/created workbook.objAppXL.Workbooks(1).ActivateobjAppXL.ActiveWorkbook.Author = “Dani V.”
8
Workbooks Use the Workbook – Example
objAppXL.Workbooks.Open “\\zeppo\FT_QA\bugs.xls”objAppXL.Workbooks.SaveAs “C:\bugs_local.xls”objAppXL.ActiveWorkbook.Close
objAppXL.Workbooks.Add.ActivateobjAppXL.ActiveWorkbook.Subject = “sales 2004”
9
WorkSheets Use the Worksheets property of the workbook collection to
return the Worksheets collection.
‘--- Show the number of worksheets in the workbook.
MsgBox objAppXL.ActiveWorkbook.Worksheets.Count
10
WorkSheets Use the Worksheets collection with an index or a name to
reference a worksheet.
‘--- Activate, print and save the first worksheet
objAppXL.ActiveWorkbook.Worksheets(1).ActivateobjAppXL.ActiveWorkbook.Worksheets(1).PrintOutobjAppXL.ActiveWorkbook.Worksheets(1).SaveAs “x.xls”‘--- Delete, the “Sheet 3” worksheetobjAppXL.ActiveWorkbook.Worksheets(“Sheet3”).Delete
You can also use application object’s ActivateWorksheet property‘--- Set focus on the first opened/created workbook
objAppXL.ActiveWorkbook.Worksheets(1).ActivateobjAppXL.ActiveWorksheet.PrintOut
11
Worksheets Use the Worksheet – Example
Dim objWshXLSet objWshXL = objAppXL.ActiveWorkbook.Worksheets(1)‘--- Perform a calculation.
objWshXL.Range(“A1:A3”) = “1”objWshXL.Range(“A4”) = “=Sum(A1:A3)”objWshXL. PrintOut
12
Ranges and Cells You may want to reference cells or a range of cells for doing
something such entering a formula or changing the format. A Range can be also a single cell. Example
‘--- Show the number of worksheets in the workbook.
objWshXL.Range(“A1:A3”).Font.Bold = True
13
Ranges and Cells
Range(“A1”) Cell A1. Range(“A1:B5”) Cells A1 thorough B5. Range(“C5:D9,G9:H16”) A multiple area selection. Range(“A:A”) Column A. Range(“1:1”) Row 1. Range(“A:C”) Column A thorough C. Range(“1:5”) Rows 1 thorough 5. Range(“1:1,3:3,8:8”) Rows 1,3, and 8. Range(“A:A,C:C,F:F”) Columns A,C, and
14
Ranges and Cells Referencing cells:
‘--- Show the number of worksheets in the workbook.
objWshXL.Cells(6,1) = “10”objWshXL.Range(“A6”) = “10”
Dim iFor i = 1 to 20
objWshXL.Cells(i,3) = iNext
15
Ranges and Cells Referencing cells:
‘--- Show the number of worksheets in the workbook.
objWshXL.Cells(6,1) = “10”objWshXL.Range(“A6”) = “10”
Dim iFor i = 1 to 20
objWshXL.Cells(i,3) = iNext
16
Ranges and Cells Referencing rows and columns:
Rows(1) Row one. Rows All the rows on the worksheet. Columns(1) Column one. Columns(“A”) Column one. Columns All the columns in the worksheet.
Example
‘--- Setting the fone of first row to be bold.
objWshXL.Rows(1).Font.Bold = True
17
Ranges and Cells Referencing a named range:
‘--- Font all range cells red color.
objWshXL.Range(“salaries”).Font.Color = RGB(255,0,0)
Referencing all cells: ‘--- Clear all worksheet’s cells.
objWshXL.Cells.ClearContents
18
Ranges and Cells Looping through a range of cells:
‘--- Go over all cells in a range.
For Each c In objWshXL.Range(“A1:D10”).Cellsif Abs(c.Value) = 0.01 Then c.Value = 0
Next
Selecting cells: objWshXL.Range(“A1”).Select
objWshXL.ActiveCell = “Hello”
objWshXL.Range(“A1”) = “Hello”
19
Ranges and Cells
Useful methos and properties
Methods PropertiesActivate CellsCheckSpelling ColumnsClear RowsClearContent FontClearFormats FormulaCopy StyleCut ValuePasteDeleteReplaceSelectSort
20
Ranges and Cells
Used as a container for Microsoft Excel worksheet functions that can be called from VBScript.
Example:
‘--- Find the minimum value within a range.
Dim theRange, minVal
Set theRange = objWshXL.Range(“A1:C10”)minVal = objAppXL.WorksheetFunction.Min(theRange)MsgBox “The minimum is: “ & minVal
21
Ranges and Cells
Useful worksheets functionsMethodsCountMaxMinSumAndOrPowerRoundStDevAveragePi
And Many More
Make sure to visit us
Tutorials Articles Proikects And much more
www.AdvancedQTP.com
22