首页 > 开发 > 综合 > 正文

[VBA]在后台删除工作表后出现的怪问题

2024-07-21 02:20:39
字体:
来源:转载
供稿:网友

商业源码热门下载www.html.org.cn

昨晚写一代码,将备将某目录下excel中的某一工作表(同名“sheet2”)批量删除代码如下,成功删除之后发现奇怪问题,被删除处理过的excel文件打开后发现是什么都没有,一张工作表都没有,但用 vb编辑器查看,却发现工作表还在,但就是没办法显示。

private sub commandbutton1_click()
dim app as excel.application
dim xlapp as variant
dim xlworkbooks as workbooks
dim myfile, mypath, myname
mypath = "d:/temp"
myname = dir(mypath & "/" & "*.xls")
do while myname <> "" ' 开始循环。

set xlapp = getobject(mypath & "/" & myname)
set w_sheets = xlapp.worksheets
xlapp.application.displayalerts = false '不显示警告
xlapp.worksheets("sheet2").delete
workbooks(myname).save
xlapp.application.displayalerts = true
xlapp.application.visible = true
workbooks(myname).close
myname = dir ' 查找下一个目录。
loop
end sub

后来,再和高手探讨调试,发现如果不用getobject,而是直接先用workbook.open就可达到正常。

application.workbooks.open myname '此是关键,先打开工作表
反正是为什么会出现上面的情形我也说不清楚,不过能解决问题就好。。。呵呵


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表