zero0223 发表于 2009-9-11 11:43:20

VBS脚本请教

Set excel = CreateObject("Excel.Application")
        Excel.DisplayAlerts=False'设置保存时默认覆盖保存
           excel.Visible=True
        Set objWorkbook = Excel.Workbooks.Open ("c:\results.xls")
        Set objworksheet=objWorkbook.Worksheets
        objworksheet.add after:=objworksheet(objworksheet.Count)
最后一句报错:\Untitled7.vbs(21, 25) Microsoft VBScript 编译器错误: 缺少语句
哪里错了,找半天没找出来啊
这是Excel里录的宏:
Sub add()
'
' add Macro
'

'
    Sheets.add After:=Sheets(Sheets.Count)
End Sub

bagwell333 发表于 2009-9-11 12:27:04

楼主可以参考QTP的实例代码UsingExcel.vbs, Line182
sheetCount = workbook.Sheets.Count
    workbook.Sheets.Add , sheetCount
    Set worksheet = workbook.Sheets(sheetCount + 1)

    'In case that the sheetName is not empty set the new sheet's name to sheetName
    If sheetName <> "" Then
      worksheet.Name = sheetName
    End If

bagwell333 发表于 2009-9-11 12:28:44

录制的宏只能做参考,VBA直接调用和COM接口调用个人感觉还是有区别的。

chooseyou123 发表于 2009-9-19 13:33:36

objworksheet.add after:=objworksheet(objworksheet.Count)
这是个什么意思啊
被你搞晕了。
after后面的赋值怎么搞的跟c一样还带个冒号啊

zero0223 发表于 2009-9-21 10:00:20

原帖由 chooseyou123 于 2009-9-19 13:33 发表 http://bbs.51testing.com/images/common/back.gif
objworksheet.add after:=objworksheet(objworksheet.Count)
这是个什么意思啊
被你搞晕了。
after后面的赋值怎么搞的跟c一样还带个冒号啊
是Excel里录制的VBA代码,我也是拿来试试可不可以用,看来貌似是不行

后来用了这个方法实现在在表后添加新表
Set ExcelSheet=ExcelBook.Worksheets(ExcelBook.Worksheets.count)
ExcelBook.Worksheets.Add,Excelsheet,1
页: [1]
查看完整版本: VBS脚本请教