如果工作簿正在使用,参考打开Wokrbook&创build错误消息

嗨,我有下面的代码,我想参考工作簿,所以我可以从一个已经打开的工作簿复制和粘贴数据。 但是我正在努力正确地引用工作簿。 谁能帮忙? 🙂

文件名是“Pics&Benefits upload file.xlsm”

Workbooks.Open Filename:= _ "U:\FBS\PROJECTS_TEAM\MI\Sean's Projects\PICS and Benefits\Pics & Benefits upload file.xlsm" Dim PicsFile As String PicsFile = "Pics & Benefits upload file.xlsm" 

如果其他人当前处于文件名“Pics&Benefits upload file.xlsm”,也就是说如果有其他用户在文件中,它将退出macros,我还想要发生错误消息。 (我不太确定如何做到这一点)

谢谢

除了Mielks的答案,这将允许你参考正确的工作簿 – 在同一行,你也可以打开文件为只读。

这段代码会告诉你一个文件是否已经打开 – 返回TRUE或者FALSE(如果文件不存在,它也会返回TRUE) – 如果你可以用文件名和位置做任何事情,它将会说。

 Public Function FileIsOpen(FullFilePath As String) As Boolean Dim ff As Long On Error Resume Next ff = FreeFile() Open FullFilePath For Input Lock Read As #ff Close ff FileIsOpen = (Err.Number <> 0) On Error GoTo 0 End Function Public Sub test() If FileIsOpen("S:\Bartrup-CookD\MyTestFile.xls") Then MsgBox "That file's open, or doesn't exist - do something else." End If End Sub 

你可以这样做:

 Dim wkb As Excel.Workbook Set wkb = Workbooks.Open(Filename:= _ "U:\FBS\PROJECTS_TEAM\MI\Sean's Projects\PICS and Benefits\Pics & Benefits upload file.xlsm")