QTP和excel的一些备用方法 和其他

本文汇总了多个实用的VBA技巧,包括生成唯一标识符、杀掉指定进程、检查Excel工作表是否存在、复制不同工作簿的范围、使用正则表达式清理数据、搜索并定位Excel中的字符串以及解锁QC中的锁等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 创建唯一标识符:

function GenerateGuid

               dim typeLib : set typeLib = CreateObject("Scriptlet.TypeLib")

               GenerateGuid = typeLib.Guid

end function


2. 杀掉windows进程

Sub KillExcelProcess

               Set objService = getobject("winmgmts:")

               For each Process in objService.InstancesOf("Win32_process")

                              'print Process.Name & vbTab & Process.processid

                              If Instr(1,""&Process.Name, "Excel",1)>0 Then

                                             Process.Terminate()

                              End If

               Next

               Set objService = Nothing

End Sub



3. excel是否有这个sheet?

Function bCheckSheetExsit(ByVal objWorkbookFunc, ByVal sSheetNameFunc)

   Dim SheetExists : SheetExists = False

   For Each objWorksheet In objWorkbookFunc.Worksheets

                              'print objWorksheet.Name

                              If objWorksheet.Name = sSheetNameFunc Then

                                             SheetExists = True

                                             Exit For

                              End If

 

               Next

 

               bCheckSheetExsit = SheetExists

End Function



4. 从一个range 复制(by value)值到另一个range (两个range 可以使不同excel)

'Function to copy Sheet1-Range to Sheet2-Range

Dim FirSheetRange, SecSheetRange

Function CopyRangeBetweenSheets (FirSheetRange, SecSheetRange)

'              FirSheetRange.Copy  SecSheetRange

               FirSheetRange.Select

               FirSheetRange.Copy

               SecSheetRange.PasteSpecial -4163     ‘by value

 

End Function


5.用正则表达式去掉特殊字符

                              Set regEx = New RegExp   ' Create a regular expression.

                              regEx.Pattern =  "[\$\.\&\/\+\(\)]"   ' Set pattern.

                              regEx.IgnoreCase = True   ' Set case insensitivity.

                              regEx.Global = True   ' Set global applicability.

                              CellValue = regEx.Replace(CellValue, "")   


6.查找字符串,返回字符串所在单元格的行号或列号:

Function iGetRowCmnFromStr (objSheetFunc, sSearchString, bSearchRowFlag)

   If IsEmpty(bSearchRowFlag)  Then

                  bSearchRowFlag = False

   End If

               sSearchString = Trim("" & sSearchString)

 

               Set objFind = objSheetFunc.Range("A1:CC500").Find(sSearchString)

 

    If objFind is Nothing Then

                                                iGetRowCmnFromStr = -1

               Reporter.ReportEvent  micFail, "Search text in excel", "The string " & sSearchString &" is not found in the sheet"

               Else

                                             If  bSearchRowFlag Then

                                                            iGetRowCmnFromStr = CInt(objFind.Row)

                                                            'print "Row = " & iGetRowCmnFromStr                   

                                             Else

                                                            iGetRowCmnFromStr = CInt(objFind.Column)

                                                            'print "Column= " & iGetRowCmnFromStr                                            

                                             End If

               End If

End Function


7. QC解锁

Set QCConnection=QCUtil.QCConnection

Set con=QCConnection.command
con.CommandText="DELETE FROM LOCKS WHERE LK_USER ='frank.tan'" 
Set recset=con.execute

8. 用坐标比较认可的方式:

Set objCheckBoxElement = Browser("a").Page("a").WebElement("a")

intX = objCheckBoxElement.GetROProperty("abs_x")

intY = objCheckBoxElement.GetROProperty("abs_y")

Set objDeviceReplayClick = CreateObject("mercury.devicereplay")

objDeviceReplayClick.MouseClick intX+5, intY+5, 0




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值