Calendar

September 2010
S M T W T F S
« Aug    
 1234
567891011
12131415161718
19202122232425
2627282930  

Categories

Creating an Excel document from MS Word

I have just come across the need to create an Excel workbook from a MS Word macro. I have simplified this code for the blog to simply move all text from Word into a new Excel workbook. This will provide a solid starting point for future use.

Option Explicit

Public Sub FormatInExcel()

On Error GoTo Err_Handler

Dim oXL As Excel.Application
Dim oWB As Excel.Workbook
Dim oSheet As Excel.Worksheet
Dim oRng As Excel.Range
Dim oDoc As Object

Set oDoc = ThisDocument

‘ Start Excel and get Application object.
Set oXL = CreateObject(“Excel.Application”)
oXL.Visible = True

‘ Get a new workbook.
Set oWB = oXL.Workbooks.Add
Set oSheet = oWB.ActiveSheet

‘ Do work
oDoc.ActiveWindow.Selection.WholeStory
oDoc.ActiveWindow.Selection.Copy

oSheet.Range(“A1″).PasteSpecial xlPasteValues

‘ Release object references.
Set oRng = Nothing
Set oSheet = Nothing
Set oWB = Nothing
Set oXL = Nothing
Set oDoc = Nothing

Exit Sub

Err_Handler:
MsgBox Err.Description, vbCritical, “Error: ” & Err.Number

End Sub

Happy coding!

Updating ActiveX Datagrids in QTP

In my recent testing efforts, I have comes across a desktop windows form (written in VB6) involving updating a data grid and then calculating another field’s value based on those updates. In order to achieve this functionality, the development staffs implemented two events (AfterColUpdate and LostFocus) that, when triggered, would fire off the calculation method.

None of this is obvious to the end user when testing, all they see is enter a number into the grid column and the total field automatically updates with the sum of all values in the column. Easy peasy.

I created my reusuable action in QuickTest Pro and record the entering of data, which yielded the following code:

VbWindow(“frmMain”).VbWindow(“frmChildWindow1″).VbWindow(“frmChildWindow2″).AcxTable(“PaymentGrid”).SelectCell 1,4

VbWindow(“frmMain”).VbWindow(“frmChildWindow1″).VbWindow(“frmChildWindow2″).AcxTable(“PaymentGrid”).SetCellData 1,4, “30.00″

Continue reading Updating ActiveX Datagrids in QTP

Using QTP to Connect to an Oracle Database with Instant Client

Using QTP to Connect to an Oracle Database with Instant Client

by Geoffrey Rodgers
Need a light-weight ODBC connection to an Oracle database for you QTP scripts? Oracle Instant Client is just the ticket, assuming you have Oracle version 10g for your database. Please read the information provided by Oracle to make sure Instant Client is right for your needs.
The Instant Client Driver

I’m not going to rewrite everything provided by Oracle, but I will quickly say (for those of you that did not click on the above link) that Instant Client is a very quick installation and contains less overhead than the full client software that was previously required to connect to an Oracle database using something other than the Microsoft ODBC for Oracle driver.
Instant Client Driver Setup:

Continue reading Using QTP to Connect to an Oracle Database with Instant Client

Accessing Methods of ActiveX Objects

I have been using QuickTest Pro for several years now and have just discovered a simple, but highly useful, feature. In dealing with ActiveX controls, there are many times when the ActiveX add-in for QTP just doesn’t full recognize an application object.

Using the ObjectSpy, you can select the object in question and see all the runtime properties and methods available for the object. For the longest time, I had been using the GetROProperty() method to retrieve the values of the properties. However, I’d not considered how to execute the methods of the objects, as I never needed to do that.

It turns out that you can access the methods, and properties, of the object with this simple code snippet:


VbWindow("frmWindow").ActiveX("testObject").Object.methodName()
VbWindow("frmWindow").ActiveX("testObject").Object.Property

Happy Testing!

Description Objects

When creating reusable actions in QuickTest Pro, there are times you may come across the need to dynamically access an object within your application that may or may not exist within your Object Repository. One approach to handling this opportunity is through the use of Description Objects.

I could spend a lot of time attempting to explain how to go about implementing description objects, but I have found that QTP’s help files do a good job explaining exactly what you need to do. To find what you are looking for, search for “Using Description Objects for Programmatic Descriptions” within the help file.

Continue reading Description Objects

QuickTest Pro – List of mic* Keywords

Here is a list of mic* keywords that can be used in QuickTest Pro. I do not have documentation for each of the keywords. I have posted these has a quick reference guide for myself, and others.

These codes will be useful when entering text into textboxes, manipulating datagrids, selecting items for comboboxes and listboxes. Some are useful as constants: micPass, micFail, and micInfo. Most are specific for keys on the keyboard.

Continue reading QuickTest Pro – List of mic* Keywords