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

王朝vb·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

昨晚写一代码,将备将某目录下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 '此是关键,先打开工作表

反正是为什么会出现上面的情形我也说不清楚,不过能解决问题就好。。。呵呵

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航