[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] [已解决]VBS为什么用after:=这个写法系统一直会报错缺少)

Dim ExcelApp,objWorkbook
Set ExcelApp = CreateObject("Excel.Application")
Set objWorkbook = ExcelApp.Workbooks.Open("C:\Users\Desktop\1.xlsx")
Dim newSheet1
Set newSheet1 = objWorkbook.Worksheets.Add(after:= objWorkbook.Worksheets(objWorkbook.Worksheets.Count))
newSheet1.Name = "NewSheet 1"
objWorkbook.Save
objWorkbook.Close
ExcelApp.Quit
Set newSheet1 = Nothing
Set objWorkbook = Nothing
Set ExcelApp = Nothing
msgbox "OK"
不知道为什么after:=一直报错,明明()都不缺的
copy6楼的可解决
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# jyswjjgdwtdtj
就是想在在excel已有的工作表的基础上再增加几个工作表

TOP

回复 6# czjt1234


   成功了大侠,不过这个只能在已有的工作表后面添加工作表,如何在已有工作表的前面添加工作表啊?

TOP

回复 4# czjt1234
2个逗号,下面有大侠写出来了,试过了可以用,但是5个逗号一运行就报错

TOP

回复 1# TTTJJJ
objWorkbook.Worksheets("Sheet1").Move objWorkbook.Worksheets(3) 这段语句可以移动工作表的位置但是不是插入的方式,然后有个奇怪的地方,当sheet1在第一个工作表的时候Worksheets(X)里的X需要填写3才能移动到实际工作表2的位置;当sheet1在第2个工作表的时候Worksheets(X)里的X正常填写就能移动到实际工作表的位置,不知道啥原因,有木有大佬讲解下 :'(

TOP

回复 2# jyswjjgdwtdtj
Worksheets.Add(Before:=objWorkbook.Worksheets(1), After:=objWorkbook.Worksheets(3))
逗号就是省略before的意思,但是不知道为什么以这么用就会报错,但是用逗号表示反而就成功了

TOP

返回列表