Ваш вопрос не совсем понятен, но я думаю, что вы автоматизируете Excel из Access VBA, и после того, как вы закончили работу с Excel, он не закрывается должным образом, и поэтому при следующем запуске кода Access VBA он может 'Не открывать файл, так как он уже открыт.
Если это так, вам необходимо убедиться, что вы правильно закрыли Excel в своем коде VBA.Не видя вашего точного кода, трудно сказать наверняка, что вам нужно сделать, но это должно быть что-то вроде этого (wb
- это WorkBook
, ws
- это WorkSheet
, а app
- этоApplication
объект):
wb.Save
wb.Close
app.Quit
Set ws = Nothing
Set wb = Nothing
Set app = Nothing
Если, с другой стороны, вы имели в виду, что экземпляр Excel, который заблокировал файл, не был запущен вашим кодом, то это становится немного сложнее.Вы можете написать код, чтобы убить все процессы Excel, запущенные в данный момент, но это может означать, что вы убьете экземпляр Excel, который в данный момент использует пользователь или который используется другим автоматизированным процессом, так что это будет довольно опасно, если вы не скажетесо 100% -ной уверенностью, что ваше приложение всегда будет работать на выделенном компьютере, не уверен ни в чем другом.