【发布时间】:2019-01-14 05:08:58
【问题描述】:
所有,我有下面的代码,我需要检查第一个不处于只读状态的可用文件并将文件名用作更大模块的一部分。
例如,如果 Transactions1.csv 正在被其他用户使用,则检查 Transactions2 是否正在使用等。
我遇到的问题是它似乎总是在使用 Transactions3.csv 并忽略文件 1,2 和 4。(即使它们不处于只读状态)。任何帮助将非常感激。
Sub CheckIFFileisopen()
'checking multiple files
PMFTransFile = "\\Csdatg04\psproject\Robot\Project Preload\Transactions\Transactions1.csv"
Set TransworkBook = Workbooks.Open(PMFTransFile)
'Check to see if file is already open
If TransworkBook.ReadOnly Then
ActiveWorkbook.Close
'check if 2nd file is available
PMFTransFile = "\\Csdatg04\psproject\Robot\Project Preload\Transactions\Transactions2.csv"
Set TransworkBook = Workbooks.Open(PMFTransFile)
If TransworkBook.ReadOnly Then
ActiveWorkbook.Close
'check if 3rd file is available
PMFTransFile = "\\Csdatg04\psproject\Robot\Project Preload\Transactions\Transactions3.csv"
Set TransworkBook = Workbooks.Open(PMFTransFile)
If TransworkBook.ReadOnly Then
ActiveWorkbook.Close
'check if 4th file is available
PMFTransFile = "\\Csdatg04\psproject\Robot\Project Preload\Transactions\Transactions4.csv"
Set TransworkBook = Workbooks.Open(PMFTransFile)
MsgBox "Cannot update Transactions, someone currently using file. Please try again in a few minutes."
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End
Exit Sub
End If
End If
End If
End Sub
【问题讨论】:
标签: vba excel if-statement readonly