[問題] 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