51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2040|回复: 2
打印 上一主题 下一主题

[原创] 到底怎样使用QTP操作Excel表格?网上说的没一个能用的!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-11-3 16:26:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我只不过想把一个Sheet表中的一个单元格的值取出来,从网上找到这样一个函数,而且注释好像还是错的:
********************************************************************' 函数说明:获取工作表excelSheet单元格的值
' 参数说明:
'          (1)excelSheet:工作表名称;
'          (2)row:列的序号;
'          (3)column:行的序号;
' 返回结果:
'          (1)单元格存在,返回单元格值;
'          (2)单元格不存在,返回0;
' 调用方法:
'           set CellValue = GetCellValue(excelSheet, 1, 2)
' ********************************************************************Function GetCellValue(excelSheet, row, column)
    value = 0
    Err = 0
    On Error Resume Next
    tempValue = excelSheet.Cells(row, column)
    If Err = 0 Then
        value = tempValue
        Err = 0
    End If
    On Error GoTo 0
    GetCellValue = value
End Function


********************************************************************
Val = GetCellValuel(result,1,5)
“result”是Sheet名,这样用法到底问题出在哪里呢?
总是报错,类型不匹配。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-11-3 20:55:58 | 只看该作者
1、你现在用的是一组函数中的一个,他们肯定是有相互调用关系的,你拷出这几行没有意义;
2、on error resume next对于vbs初学者在调试过程中没有任何好处,去掉之后你或许能得到一点有用的信息;
3、给个傻瓜例子吧,你所谓网上“没一个能用的”不会是天涯水区或者偷菜的网站吧。
  1. '***************************************************************************************************************************
  2. '设计说明: 读指定行和列的EXCEL的值
  3. '程序输入:        
  4. '                1. sheetName -- 读取的SHEET;
  5. '                2. rowNum -- 指定行;
  6. '                3. colNum -- 指定的行;
  7. '                4. appointedFile -- 文件全路径(含文件名称和后缀名)
  8. '程序输出: 读取的指定单元格的值
  9. '设计人员: XXXXX
  10. '设计时间: 2008-11-05
  11. '调用举例: Msgbox GetExcelCellValue("指定页",3,4,"D:\test.xls")
  12. '***************************************************************************************************************************

  13. Public Function GetExcelCellValue(sheetName, rowNum, colNum, appointedFile)  
  14.         On Error Resume Next
  15.         Set fObject = CreateObject("Scripting.FileSystemObject")
  16.        
  17.         If         Not fObject.FileExists(appointedFile) Then
  18.                 Report micFail,"参数文件不存在:","指定文件:【" & appointedFile & "】未找到,请确认文件路径!"
  19.                 Set fObject = Nothing
  20.                 Exit Function
  21.         End If
  22.        
  23.         Set ExcelApp = CreateObject("Excel.Application")
  24.         ExcelApp.Visible = False
  25.         ExcelApp.DisplayAlerts = False   '隐藏EXCEL的告警提示
  26.         Set newBook = ExcelApp.Workbooks.Open(appointedFile,False,True)  '只读模式
  27.         newBook.Worksheets(sheetName).Activate
  28.         GetExcelCellValue = newBook.Worksheets(sheetName).Cells(rowNum, colNum).Value

  29.         Set newBook = Nothing
  30.         ExcelApp.Quit
  31.         Set ExcelApp = Nothing
  32.         Set fObject = Nothing
  33. End Function
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-11-4 09:33:35 | 只看该作者
非常感谢楼上的,代码收藏了!
昨天我的也解决了,用了三步:
Set excobj = createobject("excle.application")
set excfilr = excobj.workbooks.open(filepath)
set excshet = excfile.workseets(sheetname)
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

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

GMT+8, 2024-11-8 01:30 , Processed in 0.079610 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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