设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3140|回复: 16
打印 上一主题 下一主题

[模块/函数] 【源码示例】判断一个EXECEL文件中是否存在指定的工作表

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2011-10-14 15:55:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 鱼儿游游 于 2011-10-14 18:16 编辑

如题:判断一个EXECEL文件中是否存在指定的工作表

游客,如果您要查看本帖隐藏内容请回复
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-10-14 16:05:05 | 只看该作者
谢谢分享
收藏了
3#
发表于 2011-10-14 16:52:33 | 只看该作者
4#
发表于 2011-10-14 16:59:29 | 只看该作者
本帖最后由 yehf 于 2011-10-14 17:21 编辑

另外一个方法,用DAO+错误陷阱


Function b(filename As String, sheetname As String) As Boolean
    Dim rst    As DAO.Recordset
    On Error Resume Next
    Set rst = CurrentDb.OpenRecordset("SELECT *  FROM [excel 8.0;database=" & filename & "].[" & sheetname & "$]")
    'b = (Err.Description <> "'" & sheetname & "$' 不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长。")
    b = (Err = 0)
    rst.Close
    Set rst = Nothing
End Function
5#
发表于 2011-10-14 17:10:08 | 只看该作者
遍历后面的代码太罗嗦,可以:
oExcelApp.quit false
Set oExcelSheet = Nothing
Set oExcelBook = Nothing
Set oExcelApp = Nothing

点击这里给我发消息

6#
 楼主| 发表于 2011-10-14 18:10:40 | 只看该作者
本帖最后由 鱼儿游游 于 2011-10-14 18:15 编辑
todaynew 发表于 2011-10-14 17:10
遍历后面的代码太罗嗦,可以:
oExcelApp.quit false
Set oExcelSheet = Nothing


多谢,这样的话,会提示是否存盘的。
7#
发表于 2011-10-14 18:19:44 | 只看该作者
本帖最后由 todaynew 于 2011-10-14 18:38 编辑
鱼儿游游 发表于 2011-10-14 18:10
多谢,这样的话,会提示是否存盘的。


存盘用ture,放弃存盘用false。
你这段代码没涉及到数据操作,不带后面的参数应该也不会提示存盘消息吧?

此外这个函数没什么价值吧?如果修改成带入参数为Book对象的话,才应该有实用价值。因为判断总是在某段涉及到已经打开的Book中进行某些操作时进行的。否则的话,仅仅为了判断是否存在某个sheet而打开关闭一次Excel对象,太不值得了,目的性也不强,有点为判断而判断的味道。呵呵

还有一个思路是枚举出一个book的sheet,作为列表框或者组合框的来源,这也有价值。

以上意见仅作参考。呵呵

Public Function IsExcelSheetExist(oExcelBook  As Excel.book,strSheetName as string) As Boolean
Dim oExcelSheet as Excel.Worksheet
For Each oExcelSheet In oExcelBook.Worksheets
      If oExcelSheet.Name = strSheetName Then
           IsExcelSheetExist = True
           Exit For
      End If
Next
set oExcelSheet=nothing
End Function

点评

遍历集合,应该使用 For Each,代码简约。这是一个非常好的 VBA 示例!  发表于 2011-10-15 10:14
8#
发表于 2011-10-14 20:12:15 | 只看该作者
学生来也
9#
发表于 2011-10-15 10:50:58 | 只看该作者
谢谢分享!楼主精神可喜!
10#
发表于 2011-10-15 13:21:34 | 只看该作者
收藏了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 02:44 , Processed in 0.092376 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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