51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6584|回复: 21
打印 上一主题 下一主题

[原创] QTP怎样才能往word里面写东西?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-6-28 15:19:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在测一个OA系统,需要新建正文,就是打开word文档,往里面写了东西后,保存。

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

[ 本帖最后由 xyz03 于 2007-6-28 16:20 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-6-28 15:26:37 | 只看该作者
我也不会,帮你顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-6-28 16:12:33 | 只看该作者
好象还真不行,是不是得自己编程实现啊,看看有没有高手路过sdlkfj7
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-6-28 17:04:44 | 只看该作者
是不是可以去Microsoft的网站,看看Word对外的接口。就像Excel似的。这是我的猜测。希望使用过这方面知识的人,出来指导一下。期盼中!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-6-28 17:08:35 | 只看该作者
用txt不是挺简单嘛,干嘛非要用word!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-6-28 17:26:28 | 只看该作者
等待中.........
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 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
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-6-28 19:29:09 | 只看该作者
好强啊,哈哈

[ 本帖最后由 lovelovecat 于 2007-6-28 19:32 编辑 ]
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2007-6-29 09:19:31 | 只看该作者
    建议大家有时间去看一下 VBScript方面的资料或书籍,在 [QTP精华区] 就有这方面的资料
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-6-29 09:32:08 | 只看该作者
    先创建一个Word对象
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-6-29 09:32:37 | 只看该作者
    然后直接操作这个Word对象,具体的语法可以先通过Word中的VBA录制,然后修改调整 。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 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文档打不开啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-6-29 18:07:20 | 只看该作者
    oWord.documents.open "c:\temp.doc",ForWriting, True这是什么语言,不是VBS吧,我在帮助里查不到sdlkfj7
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-7-30 09:04:43 | 只看该作者
    OA里面word文档一般用的是控件
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 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 ""
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2007-8-16 16:48:47 | 只看该作者
    版主真强
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2007-8-18 21:14:20 | 只看该作者
    刚链去斑竹的BLOG看了下,发现还有不少相关的好文章..

    大家有空可以去看看...
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2007-8-23 15:37:20 | 只看该作者
    为什么执行完,打开WORD文件,再关闭时会要求你保存啊,点了保存又说是只读文件,无法保存~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 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 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-14 15:08 , Processed in 0.081589 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表