В настоящее время я пишу программу, в которой я открываю и переносю файл Excel в другой основной файл, и после этого я хотел бы удалить его. Когда я пытаюсь удалить файл, я получаю сообщение об ошибке «Отказано в разрешении».
После исследования в Интернете я обнаружил, что допустил несколько ошибок, а затем удостоверился, что правильно закрыл файл и уничтожил связанные объекты, но я все еще получаю ошибку.
Sub Test()
Dim app as New Excel.Application
Dim wb as Workbook
Set wb.app.Workbooks.Open(FILEPATH & "\filename.csv")
'I know the filepath is correct as I can open and manipulate the file
'... Do things
wb.close
Set wb = Nothing
kill FILEPATH & "\filename.csv"
'I plan on adding error handling once the basic function works
End Sub
Ошибка времени выполнения '70': в доступе отказано
Любая помощь будет принята с благодарностью. Некоторое время я писал сценарии на VBA, но я не совсем знаком с более тонкими аспектами.
РЕДАКТИРОВАТЬ: Я хотел бы добавить некоторую информацию. После игры с отладкой я могу сказать, что могу успешно уничтожить объект, но процесс Excel остается открытым в фоновом режиме, мне нужно вручную убить его в диспетчере задач, чтобы код работал.
EDIT2: Интересно, ярешил мою проблему. Я хотел запустить эту программу вне Excel с помощью сценария VB, и я попытался запустить ее, не открывая Excel раньше. Это работает тогда, все удаляется правильно. Не хотел оставлять кого-нибудь с такой же проблемой висеть.