设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 怎么判断文件已经打开?

[复制链接]
跳转到指定楼层
1#
发表于 2004-10-10 22:46:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从access导数据到excel, 怎么判断excel已经打开?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2004-10-11 05:51:00 | 只看该作者
我顶,执行代码FileCopy StrSor, StrDtn的时候,因为文件StrDtn已经打开,弹出出错信息“拒绝的权限”,所以想知道怎么判断文件strDtn已经打开,把出错信息改成“文件已打开”。
3#
发表于 2004-10-11 16:16:00 | 只看该作者
有两种方法可以解决你的问题:1.如果你单纯为了copy,可以用另外的办法:      Set fs = CreateObject("Scripting.FileSystemObject")

      fs.copyfile StrSor, StrDtn 这样就可以copy已经打开的文件了!2.如果是office,可以检测文件是否已经打开,因为打开的文件会有一个临时的文件,如:mdb文件会有一个同名的ldb文件,doc文件也会有一个前面加了~$的文件,可以通过检查此文件是否存在来判断文件是否打开。可以参考:http://www.wanshan.net/bbs/ShowPost.asp?id=38
4#
发表于 2004-10-11 17:18:00 | 只看该作者
有两种方法可以解决你的问题:1.如果你单纯为了copy,可以用另外的办法:      Set fs = CreateObject("Scripting.FileSystemObject")

      fs.copyfile StrSor, StrDtn 这样就可以copy已经打开的文件了!2.如果是office,可以检测文件是否已经打开,因为打开的文件会有一个临时的文件,如:mdb文件会有一个同名的ldb文件,doc文件也会有一个前面加了~$的文件,可以通过检查此文件是否存在来判断文件是否打开。可以参考:http://www.wanshan.net/bbs/ShowPost.asp?id=38<很奇怪,刚才回复时提示错误,但是我能够看到回复的内容,可是帖子列表里却没有此帖并没有提前,再发一遍试试!>
5#
 楼主| 发表于 2004-10-11 21:16:00 | 只看该作者
不是单纯为了copy, 所以排除第一种方法. 我要copy的是excel文件, 即没有临时文件,也没有带~$的文件,该怎么办?
6#
发表于 2004-10-11 22:50:00 | 只看该作者
excel也有临时文件啊,只不过是隐藏的,你设置一下文件夹选项,显示所有文件看一下,只要打开的excel文件都有临时文件的!
7#
 楼主| 发表于 2004-10-11 23:01:00 | 只看该作者
我已经取消隐藏了,打开doc文件确实有个临时文件,但是打开excel文件就没有.
8#
发表于 2004-10-12 00:04:00 | 只看该作者
在EXCEL用VBA枚举每一个打开的工作簿。Application.Windows("BooksName.xls")
9#
发表于 2004-10-12 00:23:00 | 只看该作者
不好意思,是我想当然了,Excel果然没有临时文件,只有用其它办法了!
10#
 楼主| 发表于 2004-10-12 01:18:00 | 只看该作者
8楼的能写得具体点吗? 谢了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 21:11 , Processed in 0.166219 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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