xyz03 发表于 2007-6-28 15:19:35

QTP怎样才能往word里面写东西?

最近在测一个OA系统,需要新建正文,就是打开word文档,往里面写了东西后,保存。

qtp好像也能录,但是脚本里没有记录。回放的时候,不能打开新的word文档,不往里面写内容,请教,这到底是怎么回事?
有办法解决吗?

[ 本帖最后由 xyz03 于 2007-6-28 16:20 编辑 ]

mcl19800627 发表于 2007-6-28 15:26:37

我也不会,帮你顶一下

vincenthan 发表于 2007-6-28 16:12:33

好象还真不行,是不是得自己编程实现啊,看看有没有高手路过sdlkfj7

Ramon22 发表于 2007-6-28 17:04:44

是不是可以去Microsoft的网站,看看Word对外的接口。就像Excel似的。这是我的猜测。希望使用过这方面知识的人,出来指导一下。期盼中!

smallmark 发表于 2007-6-28 17:08:35

用txt不是挺简单嘛,干嘛非要用word!

zhuyuancan 发表于 2007-6-28 17:26:28

等待中.........

xyz03 发表于 2007-6-28 17:48:14

有点明白为什么不能新建正文了。我用robot录得时候,发现它记录的word文档的标题就是一长串的随机数字,比如2007@6@28@16790ce2-8919-44fe-a765-32616d8ad406@正文.doc

回放时,因为每次点击新建正文按钮后,word文档的标题可能和你刚录的不一样,所以如果还是那个word标题的话,就无法转到那个word文档的窗口。

但是我觉得这随机的数字应该是有规律可循的,但是到底有什么规律,只有开发人员才能知道了……

希望我的说法能启发你的思路哦

[ 本帖最后由 xyz03 于 2007-6-28 17:56 编辑 ]

风过无息 发表于 2007-6-28 19:16:11

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:29:09

好强啊,哈哈

[ 本帖最后由 lovelovecat 于 2007-6-28 19:32 编辑 ]

walker1020 发表于 2007-6-29 09:19:31

建议大家有时间去看一下 VBScript方面的资料或书籍,在 就有这方面的资料

loho1968 发表于 2007-6-29 09:32:08

先创建一个Word对象

loho1968 发表于 2007-6-29 09:32:37

然后直接操作这个Word对象,具体的语法可以先通过Word中的VBA录制,然后修改调整 。

vincenthan 发表于 2007-6-29 18:00:38

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文档打不开啊

vincenthan 发表于 2007-6-29 18:07:20

oWord.documents.open "c:\temp.doc",ForWriting, True这是什么语言,不是VBS吧,我在帮助里查不到sdlkfj7

suifengpiao 发表于 2007-7-30 09:04:43

OA里面word文档一般用的是控件

Dorpnight 发表于 2007-8-16 11:42:53

回复 #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 ""

zengfanjin5588 发表于 2007-8-16 16:48:47

版主真强

dee 发表于 2007-8-18 21:14:20

刚链去斑竹的BLOG看了下,发现还有不少相关的好文章..

大家有空可以去看看...

yt1985cncn 发表于 2007-8-23 15:37:20

为什么执行完,打开WORD文件,再关闭时会要求你保存啊,点了保存又说是只读文件,无法保存~~

yuandjing 发表于 2007-8-23 17:36:38

可以调用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
查看完整版本: QTP怎样才能往word里面写东西?