ShellExecute - ошибка при удалении файла или папки - VB

Узнай цену своей работы

Формулировка задачи:

После работы макроса в ворде функцией ShellExecute открываю созданную папку. Но если папку закрыть и попытаться ее удалить в ручную, то выходит сообщение об ошибке при удалении файла или папки. Просит закрыть программу, которая эту папку использует. Файлы удалить можно, но папку удалить не получается до тех пор пока шаблон висит подключенный, но это не вариант каждый раз переподключать шаблон.
Как очистить ShellExecute по завершению работы?

Решение задачи: «ShellExecute - ошибка при удалении файла или папки»

textual
Листинг программы
Private Sub ОткрытьПапку()
'Открыть/Показать папку
Dim objFSO As Object
On Error GoTo ErrNumber
'==============================================
If strPathReSaves <> "" Then
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  If objFSO.FolderExists(strPathReSaves) Then 'Если папака существует
'  If Dir(strPathReSaves, vbDirectory) <> "" Then '!!!Вот на эту строку он и ругался. Не совсем понятно почему???
    Call ShellExecute(0&, vbNullString, strPathReSaves, vbNullString, vbNullString, vbNormalNoFocus) 'Открыть папку с именем
    strPathReSaves = ""
  End If
  Set objFSO = Nothing
End If
'==============================================
Exit Sub
ErrNumber:
  If Error <> 0 Then
    MsgBox Err.Description, , "№ " & Err.Number & ", Процедура: «ОткрытьПапку»"
    Exit Sub
  End If
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы