Я пытаюсь написать процедуру в PowerPoint 2003, которая позволит автоматически обновлять установленную надстройку. Общий процесс выглядит следующим образом:
Удалить надстройку
<code>For Each objAddIn In Application.AddIns
If UCase(objAddIn.Name) = UCase(AddInName) Then
With objAddIn
.Registered = msoFalse
.AutoLoad = msoFalse
.Loaded = msoFalse
End With
End If
Next
Удалить файл из локального каталога надстроек
<code>Set objFSO = CreateObject("Scripting.FileSystemObject")<br>
If objFSO.FileExists(FileName) Then
Set objFSO = Nothing
Kill FileName
End If
Копирование файла из сетевого расположения
Установить обновленную надстройку
При достижении шага 2 любая попытка удаления файла после удаления с использованием FileSystemObject или прямой Kill
неизбежно приводит к Run-time error '70': Permission denied
. Если я нажимаю «Отладка» и затем играю, он проходит так, как будто никогда не было проблем.
Примечание: я понимаю, что могу использовать FSO для перезаписи локального файла, но это дает мне ту же ошибку во время выполнения.
Я предполагаю, что проблема связана с некоторым аспектом используемого файла, но я не могу понять, как "выпустить" старую надстройку, чтобы можно было удалить основной файл.
У кого-нибудь есть понимание, которое может помочь?