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

ASP.NET
Asp.Net 通用数据操作类 (附通用数据基类)
asp.net汉字转拼音和获取汉字首字母的代码
asp.net 多字段模糊查询代码
OpenCms 带分页的新闻列表
URLRewriter最简单入门介绍 URLRewriter相关资源
asp.net Repeater取得CheckBox选中的某行某个值
asp.net清空Cookie的两种方法
asp.net一些很酷很实用的.Net技巧
asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
asp.net TripleDES加密、解密算法
Asp.net中防止用户多次登录的方法
asp.net Repeater取得CheckBox选中的某行某个值的c#写法
asp.net DataGridView导出到Excel的三个方法[亲测]
C#,winform,ShowDialog,子窗体向父窗体传值
asp.net学习中发现的比较完整的流程
ASP.net 页面被关闭后,服务器端是否仍然执行中?
asp.net Context.Handler 页面间传值方法
asp.net xml序列化与反序列化
asp.net实例代码protected override void Render(HtmlTextWriter writer)
asp.net(c#)捕捉搜索引擎蜘蛛和机器人

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 229 ::
收藏到网摘: 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 '此是关键,先打开工作表
反正是为什么会出现上面的情形我也说不清楚,不过能解决问题就好。。。呵呵