A English translation for is article is available here.
Olga Ivolgin gives us a wonderfully useful QTip – quickly import an excel datasheet with the column names!
В автоматическом тестировании объёмных проектов всегда возникает потребность в быстром "импорте" данных из Excel file в любом нужном месте .
Как правило , первая строчка Excel file содержит название параметров , а последующие строчки содержат данные для вариаций теста .
Я предлагаю Вам способ , который за семь секунд возвратит нужные данные с названием столбцов.
Variable="ENV"
Icount=0 ‘Zeroing items count
Isheet= "Sheet1" "’sheet name
ExcelPath="D:\LifeInsurance\Excel_Files\Version\30466\OL.xls"
Redim Person(1,0) "’create a two – dimensional array
Row=5
Call FuncGetValueFromExcellFile(ExcelPath,Isheet,Person,Row,Icount) "’call to function
’search for MyValue in the Person dimensional array :
For i=0 to Icount-1
If Person(0,i)= Variable Then
MyValue=Person (1,i)
End If
Next
Function FuncGetValueFromExcellFile(ExcelPath,Isheet,Person ,Row,Icount)
Set ExcelObj = CreateObject("Excel.Application")
ExcelObj.Workbooks.Open ExcelPath
Set DetailsSheet = ExcelObj.Sheets.Item(Isheet)
RowDetals=DetailsSheet.rows(1).Value
RowDetails2=DetailsSheet.rows(Row).Value
Set dIcBook=CreateObject("Scripting.Dictionary")
A=dIcBook.RemoveAll
For j=1 to 256
Val1= RowDetals(1,j )
If Val1=""Then
ColumnNum=j
Exit for
End If
Val2=RowDetails2(1,j )
dIcBook.Add Val1 ,Val2
Next
ExcelObj.Application.Quit
Set DetailsSheet = Nothing
Set ExcelObj = Nothing
AllKyes = dIcBook.Keys
AllItems= dIcBook.Items
For k=0 to ColumnNum - 2
person(0,k) = AllKyes(k)
person(1,k) = AllItems(k)
Redim preserve person(ubound (person, 1), ubound (person, 2) + 1)
Next
Icount=dIcBook.count
A= dIcBook.RemoveAll
Set dIcBook=Nothing
End Function
Posted in MS Applications, MS-Excel

Yaron Assa




July 9th, 2009 at 3:22 pm
Молодец Ольга!! Респект тебе и уважуха!!