MyException - 我的異常網
當前位置:我的異常網» vbScript » VBScript/QTP 的慣用COM對象列表

cf手游体验服资格号:VBScript/QTP 的慣用COM對象列表

cf手游刷枪永久枪软件 www.yqwdk.icu  網友分享于:2015-08-26  瀏覽:10次
VBScript/QTP 的常用COM對象列表

cf手游刷枪永久枪软件 www.yqwdk.icu 眾所周知,我們經常在腳本中創建一些對象來實現某些特定的功能。尤其是當我們使用QTP的描述性編程時,需要創建這些對象。

下邊是我們經常在QTP或VBScript中用到的對象列表:

Set objEmail = CreateObject("CDO.Message" )

Set objIE = CreateObject("InternetExplorer.Application" )

Set objInet = CreateObject("InetCtls.Inet.1" )

Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1" )

Set objExcel =CreateObject("Excel.Application" )

Set objOutlook = CreateObject("Outlook.Application" )

Set objPpt = CreateObject( "PowerPoint.Application")

Set objWord = CreateObject("Word.Application" )

Set objCal = CreateObject("MSCAL.Calendar" )

Set objQPro = CreateObject("QuattroPro.PerfectScript")

Set objWP = CreateObject("WordPerfect.PerfectScript”")

Set objConn = CreateObject("ADODB.Connection" )

Set objRecSet = CreateObject("ADODB.Recordset" )

Set objDic = CreateObject("Scripting.Dictionary")

Set objFSO = CreateObject("Scripting.FileSystemObject" )

Set wshNetwork = CreateObject("WScript.Network" )

Set wshShell = CreateObject("WScript.Shell")

Set objRandom = CreateObject("System.Random" )

Set objArrList = CreateObject("System.Collections.ArrayList")

Set objSortList = CreateObject("System.Collections.SortedList" )

Set xmlDoc = CreateObject( "Microsoft.XmlDom")

Set xml2Doc = CreateObject("Msxml2.DOMDocument.5.0")

Set objiTunes = CreateObject("iTunes.Application")

Set objPlayer = CreateObject("WMPlayer.OCX" )

Set objWMPlayer = CreateObject("WMPlayer.OCX.7" )

Set objReal = CreateObject( "rmocx.RealPlayerG2 Control.1")

Set objFSDialog = CreateObject("SAFRCFileDlg.FileSave")

Set objFODialog = CreateObject("SAFRCFileDlg.FileOpen" )

Set objDialog = CreateObject("UserAccounts.CommonDialog")

Set SOAPClient = CreateObject("MSSOAP.SOAPClient")

Set objWOL = CreateObject("UltraWOL.ctlUltraWOL")

Set objSearcher = CreateObject("Microsoft.Update.Searcher")

Set objShell = CreateObject("Shell.Application")

SetobjDeviceReplay=CreateObject("Mercury.DeviceReplay")

以下是示例演示:

描述:創建和返回一個自動化對象的引用

語法: CreateObject(class)

class 參數使用了語法servername.typename

servername: 提供對象的應用程序的名稱

typename: 對象的類型或類

說明:每個自動化對象至少提供一種對象類型。例如,一個文字處理程序可能會提供一個應用程序對象,一個文件對象和一個工具欄對象。要創建一個自動化對象,需要把CreateObject創建的對象變量賦給一個對象變量。

示例1:創建一個Excel應用程序對象 (“Excel.Application” )

'關閉桌面上打開的所有Excel表格

Systemutil.CloseProcessByName"excel.exe"

 

'創建一個新的Excel對象

Set Excel =CreateObject("Excel.Application")

 

'打開Excel表格

Set SExcelSheet =Excel.Workbooks.Open("C:\Users\djiao\Documents\ella\CR_Report.xlsx")

 

'設置表格可見

SExcelSheet.Application.visible=true

 

'關閉任何Excel的錯誤窗口或提示信息

Excel.DisplayAlerts = False

 

'重命名并保存Excel到不同的路徑下

SExcelSheet.SaveAs"C:\BaseLine.xlsx"

 

'關閉Excel的表格

SExcelSheet.Close

 

'退出Excel應用程序

Excel.Quit

示例3A: 創建文件系統對象 (“Scripting.FileSystemObject”)

'將要創建的文件夾的存放路徑

strDrive = "D:\DATA"

 

'要創建的文件夾名稱

strfoldername= "New Folder"

 

'獲取文件夾的絕對路徑

strPath=strDrive&"\"&strfoldername

 

'創建 FileSystemObject 對象

Set objFSO =CreateObject("Scripting.FileSystemObject")

 

'文件夾不存在時,創建文件夾

If NOT objFSO.FolderExists(strPath) Then

  objFSO.CreateFolder strPath

End If

 

'釋放文件系統對象

Set objFSO = nothing

示例3B:

'Get the name of file extention

msgbox GetAnExtension("C:\ProgramFiles (x86)\HP\QuickTest Professional\bin\QTPro.exe")

 

Function GetAnExtension(DriveSpec)

         Dimfso

         Setfso = CreateObject("Scripting.FileSystemObject")

         GetAnExtension= fso.GetExtensionName(Drivespec)

         Setfso = nothing

End Function

示例4: 郵件發送對象(“CDO.Message”)

Dim objMessage

 

'創建郵件發送對象

Set objMessage =CreateObject("CDO.Message")

 

'給郵件添加主題

objMessage.Subject = "QTP Results –Automated Testing"

objMessage.From ="[email protected]" ' 改為你自己的郵箱地址

objMessage.To = "[email protected]"'收件人郵箱地址

objMessage.CC = "[email protected]"'CC to email id

 

'郵件內容

objMessage.TextBody ="N.B. – Please DoNot Reply This Message Directly."

 

'添加附件

objMessage.AddAttachment"D:\Data\file.text"

 

'這部分提供了遠程SMTP server的配置信息

objMessage.Configuration.Fields.Item("//schemas.microsoft.com/cdo/configuration/sendusing")= 2

'設置SMTP server的name或IP

objMessage.Configuration.Fields.Item("//schemas.microsoft.com/cdo/configuration/smtpserver")= "smtp.163.com"

'服務器端口號(通常是 25)

objMessage.Configuration.Fields.Item("//schemas.microsoft.com/cdo/configuration/smtpserverport")= "someserver.domain.com"

objMessage.Configuration.Fields.Update

 

'發送郵件

objMessage.Send

 

'釋放郵件對象

Set objMessage = nothing

示例5: 創建WshShell對象 (“Wscript.Shell”)

說明:WScript.Shell是WshShell對象的ProgID,創建WshShell對象可以運行程序、操作注冊表、創建快捷方式、訪問系統文件夾、管理環境變量。

Set WshShell =CreateObject("Wscript.Shell")

Dim Response

'顯示一個帶有yes和no的消息框

Response = MsgBox("Please Select yourchoice as ‘Yes’ or ‘No’.", vbYesNo)

 

If Response = vbYes Then

         '消息框會顯示3秒鐘

         WshShell.Popup"You Have Been Selected “Yes”. Please wait.", 3, "YourSelection"

Else

        

         '消息框會顯示5秒

         WshShell.Popup"You Have Been Selected “No”", 5, "Your Selection"

End If

 

Set WshShell = nothing

示例6A: Mercury.DeviceReplay對象  (“Mercury.DeviceReplay”)

說明:這個對象用來模擬鼠標的單擊和移動、鍵盤輸入等。使用該對象前,需要保證鍵盤狀態正確,如NUMLOCK是否打開等,DeviceReplay不能檢測鍵盤狀態。

'定義坐標

Dim abs_x, abs_y

abs_x = 200

abs_y = 200

 

'創建Mercury.DeviceReplay對象

Set objMercuryMouse = CreateObject("Mercury.DeviceReplay")

 

'移動鼠標到指定坐標

objMercuryMouse.MouseMove abs_x,abs_y

 

'鼠標左擊

objMercuryMouse.MouseClick abs_x,abs_y,LEFT_MOUSE_BUTTON

 

Wait 3

 

'釋放Mercury.DeviceReplay對象

Set objMercuryMouse = nothing

示例7:字典對象(“Scripting.Dictionary”)

'創建dictionary對象

Dim d

Set d =CreateObject("Scripting.Dictionary")

 

'給dictionary添加key和value

d.Add "a","Athens"  

d.Add "b", "Belgrade"

d.Add "c", "Cairo"

 

'獲取所有的item

a = d.Items

For i = 0 To d.Count -1 ' Iterate thearray.

  s =s & a(i) & VBCrLF ' Create return string.

Next

print s

 

'根據key獲取item

print d.Item("a")

 

'釋放dictionary對象

Set d = nothing

Example 8A: Connection對象,數據集對象("ADODB.Connection")/("ADODB.Recordset")

Function database()

         v_DBInstance= "RENPCRT8"

         v_MHXMLDBPwd= "grudge"

         v_MHXMLDBSchema= "Mhxmledit"

 

         '創建數據庫連接對象和數據集對象

         ConstadOpenStatic = 3

         ConstadLockOptimistic = 3

         ConstadUseClient = 3

         SetobjConnection = CreateObject("ADODB.Connection")

         SetobjRecordset = CreateObject("ADODB.Recordset")

         objConnection.Open"DRIVER={Microsoft ODBC for Oracle};UID="& v_MHXMLDBSchema&" ;PWD="& v_MHXMLDBPwd & ";SERVER="&v_DBInstance &”;"

         objRecordset.CursorLocation= adUseClient

         objRecordset.CursorType= adopenstatic

         objRecordset.LockType= adlockoptimistic

         objRecordset.Source= "select SOP from MHXML.FIRMS_STG where org_id in 681915"

         ObjRecordset.ActiveConnection= ObjConnection

 

         '執行查詢語句

         ObjRecordset.Open

         IfObjRecordset.recordcount>0 then

                   Field1= ObjRecordset("SOP").Value

                   msgboxField1

         Endif

End Function

Example 8B: (“Database connection withoutADODB.Connection Object”)

此方法可以從數據庫中獲取值為空或者null的數據

Function GetAttorneyInfo(InField,ALid)

         v_DBInstance="RENPCRT8"

         v_MHXMLDBPwd="creek"

         v_MHXMLDBSchema="lbmgradmin"

         GetAttorneyInfo=""

 

         '創建數據庫連接

         MHXMLconnection_string="DRIVER={MicrosoftODBC for Oracle};UID="& v_MHXMLDBSchema &" ;PWD="&v_MHXMLDBPwd &";SERVER=" & v_DBInstance &";"

         isMHXMLConnected= db_connect ( MHXMLConnection ,MHXMLconnection_string )

 

         IfisMHXMLConnected=0Then '從表中獲取數據

 

                   v_Exe_SQL2="Selectlength(NVL(" & InField & ",'Data Not Found')) fromlbmgradmin.ilv_vw where ilisting_id = " & ALid

                   setRecSet_SOPInfo_LEN = db_execute_query( MHXMLConnection , v_Exe_SQL2 )

                   d_SOPInfo_Length= db_get_field_value( RecSet_SOPInfo_LEN , 0 , 0 )

                   v_Exe_SQL2="selectsubstr(to_char(NVL(" & InField & ",'Data NotFound')),1," & d_SOPInfo_Length & ") from lbmgradmin.ilv_vwwhere ilisting_id = " & ALid

                   setRecSet_SOPInfo = db_execute_query( MHXMLConnection , v_Exe_SQL2 )

                   RowCnt= db_get_rows_count( RecSet_SOPInfo )

 

                   IfRowCnt=1Then

                            d_SOPInfo=db_get_field_value(RecSet_SOPInfo , 0 , 0 )

                   else

                            datatable.SetCurrentRow(1)

                            d_SOPInfo=db_get_field_value(RecSet_SOPInfo , 0 , 0 )

                   EndIf

         else

         EndIf

         GetAttorneyInfo=d_SOPInfo

End Function

 

'打開數據庫連接

Function db_connect( byRef curSession,connection_string)

         Dimconnection

         onerror Resume next

 

         '創建數據庫連接對象

         setconnection = CreateObject("ADODB.Connection")

         IfErr.Number <> 0 then

                   db_connect="Error # " & CStr(Err.Number) &" " &Err.Description

                   err.clear

                   ExitFunction

         EndIf

 

         connection.Openconnection_string

         IfErr.Number <> 0 then

                   db_connect="Error # " & CStr(Err.Number) & " " &Err.Description

                   err.clear

                   ExitFunction

         EndIf

         setcurSession=connection

         db_connect=0

End Function

 

'關閉數據庫連接

Function db_disconnect( byRef curSession )

         curSession.close

         setcurSession = Nothing

End Function

 

'執行查詢語句

Function db_execute_query ( byRefcurSession , SQL)

         setrs = curSession.Execute( SQL )

         setdb_execute_query = rs

End Function

 

'獲取數據集的行數

Function db_get_rows_count( byRef curRS )

         dimrows

         rows= 0

         curRS.MoveFirst

         DoUntil curRS.EOF

         rows= rows+1

         curRS.MoveNext

         Loop

         db_get_rows_count= rows

End Function

Example 8C: (“ADODB.Connection”)/(“ADODB.Recordset”)

此示例從Excel表單中獲取數據

'創建數據庫連接對象

Dim Get_Field

set connectToDB =CreateObject("ADODB.Connection")

connectToDB.Provider ="Microsoft.Jet.OLEDB.4.0"

connectToDB.Properties("ExtendedProperties").Value = "Excel 8.0"

connectToDB.Open "D:\Documents andSettings\pauldx\Desktop\Data.xls"

strQuery="Select Age from [Data$]WHERE Name ='Joli'"

 

'創建數據集對象

Set rsRecord =CreateObject("ADODB.Recordset")

rsRecord.Open strQuery,connectToDB,1,1

 

If rsRecord.RecordCount>0 Then

         fori= 1 to rsRecord.RecordCount

                   Get_Field=rsRecord.Fields(0)

                   printGet_Field

                   rsRecord.movenext

         next

Else

         Get_Field="FieldNot Present"

End If

Example 9:("AcroExch.App"/"AcroExch.AVDoc")

此段代碼可以從pdf 文件中搜索Software單詞

備注:這段代碼只有當你安裝了acrobat 專業版安裝的時候才可以使用。如果只安裝了adobe 閱讀器的標準版,你會看到如下報錯“ActiveX component can’t create object: ‘AcroExch.PDDoc””

 

Option Explicit

Dim accapp, acavdocu

Dim pdf_path, bReset, Wrd_count

pdf_path="C:\test.pdf"

 

'創建AcroExch i應用程序對象

Setaccapp=CreateObject("AcroExch.App")

accapp.Show()

'創建AVDoc對象

Setacavdocu=CreateObject("AcroExch.AVDoc")

'打開PDF文件

If acavdocu.Open(pdf_path,"")Then

acavdocu.BringToFront()

bReset=1 : Wrd_count = 0

 

'查找,定位并高亮指定文本

Do Whileacavdocu.FindText("software", 1, 1, bReset)

bReset=0: Wrd_count=Wrd_count+1

Wait 0, 200

Loop

End If

accapp.CloseAllDocs()

accapp.Exit()

msgbox "The word 'software' was found" & Wrd_count & "times"

Set accap=nothing

Set accapp=nothing

 

Example 10: .Net 對象("DotNetFactory")

說明:DotNetFactory對象允許創建一個.NET對象,并訪問其方法和屬性

'創建.Net的form對象

Dim var_CreateInstance

Set var_CreateInstance =DotNetFactory.CreateInstance("System.Windows.Forms.Form","System.Windows.Forms")

'顯示form

var_CreateInstance.Show

wait 2


'關閉form

var_CreateInstance.Close

 

'釋放.Net對象

Set var_CreateInstance = nothing

文章評論

程序員眼里IE瀏覽器是什么樣的
程序員眼里IE瀏覽器是什么樣的
程序員必看的十大電影
程序員必看的十大電影
程序員都該閱讀的書
程序員都該閱讀的書
10個調試和排錯的小建議
10個調試和排錯的小建議
程序員周末都喜歡做什么?
程序員周末都喜歡做什么?
十大編程算法助程序員走上高手之路
十大編程算法助程序員走上高手之路
Web開發者需具備的8個好習慣
Web開發者需具備的8個好習慣
 程序員的樣子
程序員的樣子
做程序猿的老婆應該注意的一些事情
做程序猿的老婆應該注意的一些事情
如何區分一個程序員是“老手“還是“新手“?
如何區分一個程序員是“老手“還是“新手“?
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
團隊中“技術大拿”并非越多越好
團隊中“技術大拿”并非越多越好
寫給自己也寫給你 自己到底該何去何從
寫給自己也寫給你 自己到底該何去何從
“骯臟的”IT工作排行榜
“骯臟的”IT工作排行榜
老程序員的下場
老程序員的下場
要嫁就嫁程序猿—錢多話少死的早
要嫁就嫁程序猿—錢多話少死的早
每天工作4小時的程序員
每天工作4小時的程序員
初級 vs 高級開發者 哪個性價比更高?
初級 vs 高級開發者 哪個性價比更高?
60個開發者不容錯過的免費資源庫
60個開發者不容錯過的免費資源庫
為啥Android手機總會越用越慢?
為啥Android手機總會越用越慢?
Java程序員必看電影
Java程序員必看電影
鮮為人知的編程真相
鮮為人知的編程真相
看13位CEO、創始人和高管如何提高工作效率
看13位CEO、創始人和高管如何提高工作效率
程序員的一天:一寸光陰一寸金
程序員的一天:一寸光陰一寸金
編程語言是女人
編程語言是女人
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
如何成為一名黑客
如何成為一名黑客
那些爭議最大的編程觀點
那些爭議最大的編程觀點
5款最佳正則表達式編輯調試器
5款最佳正則表達式編輯調試器
我的丈夫是個程序員
我的丈夫是個程序員
不懂技術不要對懂技術的人說這很容易實現
不懂技術不要對懂技術的人說這很容易實現
我跳槽是因為他們的顯示器更大
我跳槽是因為他們的顯示器更大
Google倫敦新總部 猶如星級莊園
Google倫敦新總部 猶如星級莊園
代碼女神橫空出世
代碼女神橫空出世
程序員的鄙視鏈
程序員的鄙視鏈
2013年中國軟件開發者薪資調查報告
2013年中國軟件開發者薪資調查報告
那些性感的讓人尖叫的程序員
那些性感的讓人尖叫的程序員
當下全球最炙手可熱的八位少年創業者
當下全球最炙手可熱的八位少年創業者
漫畫:程序員的工作
漫畫:程序員的工作
Web開發人員為什么越來越懶了?
Web開發人員為什么越來越懶了?
聊聊HTTPS和SSL/TLS協議
聊聊HTTPS和SSL/TLS協議
我是如何打敗拖延癥的
我是如何打敗拖延癥的
中美印日四國程序員比較
中美印日四國程序員比較
一個程序員的時間管理
一個程序員的時間管理
程序員最害怕的5件事 你中招了嗎?
程序員最害怕的5件事 你中招了嗎?
程序員和編碼員之間的區別
程序員和編碼員之間的區別
為什么程序員都是夜貓子
為什么程序員都是夜貓子
旅行,寫作,編程
旅行,寫作,編程
軟件開發程序錯誤異常cf手游刷枪永久枪软件Copyright © 2009-2015 MyException 版權所有