51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2264|回复: 3
打印 上一主题 下一主题

[原创] QTP输出数据到已存在excle文件.

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-3-31 10:43:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
'输出数据到excle中
exclefile = "D:\QTP\reg\reguser"®now&".xls"
Set ExcelObj = CreateObject("Excel.Application")
ExcelObj.Workbooks.Add '增加一个工资表
Set NewSheet = ExcelObj.Sheets.Item(1) '取得新添加的工作表
NewSheet.Name = "reguser"      '重命名工作表名字
row = 1            '从第一行开始
NewSheet.Cells(1,1) = "username"
NewSheet.Cells(1,2) = "password"
NewSheet.Cells(2,1) = DataTable("long_name", dtGlobalSheet)®now
NewSheet.Cells(2,2) = DataTable("password", dtGlobalSheet)®now
NewSheet.Columns("A:A").ColumnWidth = 20  '宽度
NewSheet.Columns("A:A").Font.Bold = True   '加粗
NewSheet.Columns("B:B").ColumnWidth = 20
NewSheet.Columns("B:B").HorizontalAlignment = -4108 ' 剧中
'保存文件,exclefile为文件路径
ExcelObj.ActiveWorkbook.SaveAs exclefile
ExcelObj.Quit
Set ExcelObj = Nothing
'--------------------------------------------------------------------------------------------

有如上代码,是输出数据到excl文件中,可是实际运行发现,是新建一个文件保存到里面.如果新建的文件存在,会提示是否覆盖
所以我的问题是,
如何做到是添加数据到已经存在的文件中

[ 本帖最后由 onlonely 于 2009-3-31 14:06 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-3-31 11:22:53 | 只看该作者
ExcelObj.Workbooks.Add

或者 ExcelObj.ActiveWorkbook.SaveAs exclefile
后面可能会可以加参数 一个true什么的就可以是强制覆盖 自己查vbs函数吧
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-3-31 12:05:52 | 只看该作者
你用Workbooks.Add 当然是新建一个excel文件了....

应该用Workbooks的Open方法,如下
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = False
//excelFile为你要打开的文件,需要文件所在的全路经
Set xlsWorkBook = xlsApp.Workbooks.Open(excelFile)
//做你要做的操作
..
...
....
//保存
xlsWorkBook.Save
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-3-31 14:03:58 | 只看该作者

回复 3# 的帖子

问题搞定,为了帮助后面需要帮助的人,贴出代码来供参考,注释以及比较详细了.

'输出内容到已经存在的excle中-----------------------------------------
xlsworkname ="reguser"                       '工作表名称
workbookurl="D:\QTP\reg\" & xlsworkname & ".xls"      'excle文件路径
Set ExcelObj = CreateObject("Excel.Application")     ' 创建excle工作表对象
ExcelObj.Visible = False                       '激活工作表
Set xlsWorkBook = ExcelObj.Workbooks.Open(workbookurl)  '打开excle文件
Set NewSheet = xlsWorkBook.Sheets(xlsworkname) '选择添加数据的工作表
row = 1            '从第一行开始
Do
'msgbox(NewSheet.cells(row,1)) '调试语句
If NewSheet.Cells(row,1) ="" then    '写入数据
NewSheet.Cells(row,1) = DataTable("long_name", dtGlobalSheet)®now
NewSheet.Cells(row,2) = DataTable("password", dtGlobalSheet)®now
exit do
end if
row = row  + 1
loop
xlsWorkBook.Save   ''保存文件
xlsWorkBook.close  '关闭工作表
Set xlsWorkBook = Nothing
'--------------------------------------------------------------------------------------------
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-13 14:06 , Processed in 0.074241 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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