[问题] VBA "档案使用中"的通知关不掉

楼主: foolkids (翼をください)   2015-03-30 09:22:33
软件:Office Excel
版本:2010
我在某个共用的A.xla档写入一个开启特定档案的宏,内容如下:
Sub 开Test()
Dim RecordFilePath As String
RecordFilePath = "F:\OpenTest.xls"
Workbooks.Open FileName:=RecordFilePath
End Sub
我在另一个B.xls档案写入一个呼叫此程序的宏,内容如下:
Sub OpenTest()
Application.Run "开Test"
End Sub
目前问题在于──如果该特定档案(OpenTest.xls)被他人开启而处于唯读状态时,
会跳出一个‘档案使用中’的Excel通知。
试过使用Application.DisplayAlerts = False 来关闭也没用。
目前可行的方式是在B.xls中引用A.xla,并且将呼叫方式改为:
Sub OpenTest()
Call 开Test
End Sub
这样就不会出现‘档案使用中’的唯读讯息了。
只是因为这样的程序之前已经写好部分功能,如果为了此设定要修改引用,
可能会有很多档案都要重新设定,有点困扰。想知道有没有办法可以──
使用Application.Run来呼叫(不设定引用)且不会出现‘档案使用中’讯息的方法呢?
以上,谢谢!!
作者: soyoso (我是耀宗)   2015-03-30 11:34:00
修改workbooks.open内readonly的参数那想到是加上Open sFileName For Binary Access Read LockRead As #1的方式来侦测该档是否已被开启上面的sFileName为变量For Input Lock Read 应也可以
楼主: foolkids (翼をください)   2015-03-30 15:17:00
Binary!? 完全没用过的指令… 先研究看看,谢谢苏大!

Links booklink

Contact Us: admin [ a t ] ucptt.com