QTP怎样才能往word里面写东西?
最近在测一个OA系统,需要新建正文,就是打开word文档,往里面写了东西后,保存。qtp好像也能录,但是脚本里没有记录。回放的时候,不能打开新的word文档,不往里面写内容,请教,这到底是怎么回事?
有办法解决吗?
[ 本帖最后由 xyz03 于 2007-6-28 16:20 编辑 ] 我也不会,帮你顶一下 好象还真不行,是不是得自己编程实现啊,看看有没有高手路过sdlkfj7 是不是可以去Microsoft的网站,看看Word对外的接口。就像Excel似的。这是我的猜测。希望使用过这方面知识的人,出来指导一下。期盼中! 用txt不是挺简单嘛,干嘛非要用word! 等待中......... 有点明白为什么不能新建正文了。我用robot录得时候,发现它记录的word文档的标题就是一长串的随机数字,比如2007@6@28@16790ce2-8919-44fe-a765-32616d8ad406@正文.doc
回放时,因为每次点击新建正文按钮后,word文档的标题可能和你刚录的不一样,所以如果还是那个word标题的话,就无法转到那个word文档的窗口。
但是我觉得这随机的数字应该是有规律可循的,但是到底有什么规律,只有开发人员才能知道了……
希望我的说法能启发你的思路哦
[ 本帖最后由 xyz03 于 2007-6-28 17:56 编辑 ] Set oWord = CreateObject("Word.Application")
oWord.documents.open "c:\temp.doc",ForWriting, True
Set oDoc = oWord.ActiveDocument
Set oRange = oDoc.content
oRange.insertafter "test"
Set oRange = Nothing
Set oDoc = Nothing
Set oWord = Nothing
http://www.51testing.com/?3528/action_viewspace_itemid_14888.html 好强啊,哈哈
[ 本帖最后由 lovelovecat 于 2007-6-28 19:32 编辑 ] 建议大家有时间去看一下 VBScript方面的资料或书籍,在 就有这方面的资料 先创建一个Word对象 然后直接操作这个Word对象,具体的语法可以先通过Word中的VBA录制,然后修改调整 。 Set oWord = CreateObject("Word.Application")
oWord.documents.open "c:\temp.doc",ForWriting, True
Set oDoc = oWord.ActiveDocument
Set oRange = oDoc.content
oRange.insertafter "test"
Set oRange = Nothing
Set oDoc = Nothing
Set oWord = Nothing
执行完以后为什么WORD文档打不开啊 oWord.documents.open "c:\temp.doc",ForWriting, True这是什么语言,不是VBS吧,我在帮助里查不到sdlkfj7 OA里面word文档一般用的是控件
回复 #1 xyz03 的帖子
SystemUtil.Run "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE","","",""Window("Microsoft Word").WinObject("Microsoft Word Document").Click 470,521
Window("Microsoft Word").WinObject("Microsoft Word Document").Type "" 版主真强 刚链去斑竹的BLOG看了下,发现还有不少相关的好文章..
大家有空可以去看看... 为什么执行完,打开WORD文件,再关闭时会要求你保存啊,点了保存又说是只读文件,无法保存~~ 可以调用QTPPLUS的函数
Function NumberOfSpellErrors(strText)
Dim objMsWord
Set objMsWord = CreateObject("Word.Application")
objMsWord.WordBasic.FileNew
objMsWord.WordBasic.Insert strText
NumberOfSpellErrors = objMsWord.ActiveDocument.SpellingErrors.Count
objMsWord.Documents.Close (False)
objMsWord.Quit ' close the application
Set objMsWord = Nothing' Clear object memory
End Function
' The following function uses the Spell errors function to check a specific property
' of all the objects with a given description which are under a given Parent
Sub CheckAllObjects(ParentObj, ObjDesc, PropName)
Dim ObjCol, idx, PropValue, OldReportMode
OldReportMode = Reporter.Filter
Reporter.Filter = 2 ' report only errors
If (IsNull(ParentObj)) Then
Set ObjCol = Desktop.ChildObjects(ObjDesc)
Else
Set ObjCol = ParentObj.ChildObjects(ObjDesc)
End If
For idx=0 to ObjCol.count-1
PropValue = ObjCol.Item(idx).GetROProperty(PropName)
RetVal = NumberOfSpellErrors(PropValue) ' the actual spell check
If (RetVal > 0) Then
ReportText = "Object #" & idx+1 & ": The '" & PropName & "' Property has " & RetVal & " spell errors (" & PropValue & ")"
Reporter.ReportEvent 1, "Spell Check", ReportText
End If
Next
Reporter.Filter = OldReportMode
End Sub
页:
[1]
2