设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] 能否用代码判定某个指定的Excel文件是否打开?...

[复制链接]
跳转到指定楼层
1#
发表于 2010-2-23 19:19:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
能否用代码判定某个指定的Excel文件是否打开?如果是打开的就保存并关闭这个指定的Excel文件(保存和关闭不影响其他正在打开的Excel文件),期待高手......
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-2-23 20:17:45 | 只看该作者
Function CloseE(strname As String)
'功能:关闭指定Excle文件。
'参数:strname---完整目标文件名
On Error GoTo CloseE_Err
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook

Set xlBook = xlApp.Workbooks(strname)
xlApp.Application.Visible = True
xlBook.Close
xlApp.Quit

CloseE_Exit:
    Exit Function

CloseE_Err:
    MsgBox Error$
    Resume CloseE_Exit
End Function
3#
 楼主| 发表于 2010-2-23 21:25:44 | 只看该作者
下标越界等
好像不行。
4#
发表于 2010-2-23 21:32:38 | 只看该作者
如果是换为word,又该如何用代码判断某个word文件是否打开,如果打开就关闭这个指定的word文件,但不影响其它打开的word文件呢。

期待答复中~~~
5#
发表于 2010-2-24 22:54:14 | 只看该作者
这个问题我也在关注中~~~
6#
 楼主| 发表于 2010-2-25 17:55:25 | 只看该作者
继续关注,继续期待高手。。。
7#
发表于 2010-2-25 21:03:37 | 只看该作者
本帖最后由 todaynew 于 2010-2-25 21:25 编辑
下标越界等
好像不行。
xryacc2 发表于 2010-2-23 21:25

Function CloseE(strname As String)
'功能:关闭指定Excle文件。
'参数:strname---文件名
On Error GoTo CloseE_Err
Dim xlBook  As Excel.Workbook
For Each xlBook In Workbooks
  If xlBook.Name = strname Then
    xlBook.Save
    xlBook.Close
    Set xlBook = Nothing
    Exit Function
  End If
Next xlBook
Set xlBook = Nothing
CloseE_Exit:
  Exit Function
CloseE_Err:
  MsgBox Error$
  Resume CloseE_Exit
End Function


注意:双击文件夹查找文件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
8#
 楼主| 发表于 2010-2-25 22:02:45 | 只看该作者
功能未达到!
(1)我改引用了我用的Office 2000版的excel9.0.olb后还是不行(先前引用的excel11.0.olb丢失)
(2)双击文件夹,出错在“Dim fd As FileDialog”,文件已引用scruun.dll,我重新regsvr32.exe成功后还是出错
(3)我的文件在d:\excel\book1.xls,我在文件夹中输入d:\excel\或d:\excel,文件来源中都有book1.xls,就点打开,但打开的是C:\,我手工打开这个book1.xls,再点关闭,无效;
在文件中输入完整的路径:d:\excel\book1.xls,点“打开”,OK!点“关闭”,无反应!
(如果todaynew试过可行的话,可能就是我的office版本低的缘故了!)还是谢谢todaynew !之前我用捕捉错误的办法判定文件是否打开并实现关闭功能都未见效,也定义过excel.workbook
9#
发表于 2010-2-26 11:20:32 | 只看该作者
功能未达到!
(1)我改引用了我用的Office 2000版的excel9.0.olb后还是不行(先前引用的excel11.0.olb丢失)
(2)双击文件夹,出错在“Dim fd As FileDialog”,文件已引用scruun.dll,我重新regsvr32.exe成功后 ...
xryacc2 发表于 2010-2-25 22:02

呵呵,活该,让你改用2003版你不听。
10#
 楼主| 发表于 2010-2-26 15:59:20 | 只看该作者
公司统一用的Office 2000版。
另外我所说的“我改引用了我用的Office 2000版的excel9.0.olb后还是不行(先前引用的excel11.0.olb丢失)”,是指判定(或关闭指定文件)指定文件是否开启的功能效果未达到,而非引用不行。当然可以改引用的 。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-9 02:42 , Processed in 0.087184 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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