当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > [VBA]在后台删除工作表后出现的怪问题

ASP.NET
8月编程语言榜:.Net前景如何?
.NET调PHP Web Service的典型例子
ASP.NET热点问题解答14个
ADO.NET实用技巧两则
ASP遗留的二十大积习
从零开始学ASP.NET-基础篇
asp.net WebForm页面间传值方法
一个经典的ADO.NET入门例子
ASP.net中md5加密码的方法
C#Web应用程序入门经典学习笔记之二
程序中常用的种代码
页面包含的处理
几个C#常用正则表达式的总结
c#对xml的简单操作
获取当前url
检测含有中文字符串的实际长度
ASP.NET 数据访问类
利用Ajax传递Xml文档
给.net初学者的一些建议(共勉之)
asp.net网络数据库开发实例精解 源文件

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 132 ::
收藏到网摘: n/a


昨晚写一代码,将备将某目录下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 '此是关键,先打开工作表
反正是为什么会出现上面的情形我也说不清楚,不过能解决问题就好。。。呵呵