设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2456|回复: 6
打印 上一主题 下一主题

[窗体] for each 获取工作表名称觉得还是挺慢的

[复制链接]
跳转到指定楼层
1#
发表于 2013-8-5 21:55:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    With Me
        .List0.RowSource = ""
        Set ex = CreateObject("Excel.Application")
        Set exwbook = ex.Workbooks.Open(.Text2.Value)
        For Each exsheet In exwbook.Worksheets
            .List0.AddItem exsheet.Name
        Next
        Set ex = Nothing
    End With

text2放的是工作簿的路径
但是我发现这种方法获取工作表名称
放到列表框中
效率还是很低,不知道有没有其他方法
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2013-8-5 22:02:59 | 只看该作者
主要慢的原因是 因为要打开 excel对象, 其它代码不慢,或者说第二次再操作不慢
3#
 楼主| 发表于 2013-8-5 22:11:29 | 只看该作者
admin 发表于 2013-8-5 22:02
主要慢的原因是 因为要打开 excel对象, 其它代码不慢,或者说第二次再操作不慢

而且内存会驻留Excel ,很是讨厌

点击这里给我发消息

4#
发表于 2013-8-5 22:37:22 | 只看该作者
驻留 ,只需要 exwbook 要显式关闭
且 set exwbook=nothing
5#
 楼主| 发表于 2013-8-6 08:46:56 | 只看该作者
admin 发表于 2013-8-5 22:37
驻留 ,只需要 exwbook 要显式关闭
且 set exwbook=nothing

我写错了,我是用set ex=nothing

点击这里给我发消息

6#
发表于 2013-8-6 15:32:21 | 只看该作者
7#
 楼主| 发表于 2013-8-6 19:04:37 | 只看该作者
t小宝 发表于 2013-8-6 15:32
供参考:
http://www.office-cn.net/thread-117334-1-1.html

这个代码果然很快,而且有一点就是,不在内存驻留Excel 主程序,谢谢小宝
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-17 01:54 , Processed in 0.092879 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表