Тема: Какой процесс не дает переименовать папку?
Идея макроса такая. Повесить на гор.клавишу "Esc" выполнение макроса по закрытию документа, но не самой оболочки Word.
Но не могу никак понять, что держит ворд при переименовании папки (при необходимости) после выполнения моей процедуры, когда выполняется вторая часть моего кода «Run», если пользователь создает новый пустой лист док., вносит в него изменения, затем выбирает папку для пересохранения?
Если пользователь хочет в последствии переименовать по какой то причине эту папку, то выходит сообщение виндовс о том, что нет возможности ее переименовать. Соответственно, если у кого то стоит программа анлокер, то она предлагает разблокировать WINWORD.EXE.
Я так же пробовала "Options.DefaultFilePath(wdDocumentsPath)" - винда все равно жалуется. ChDir та же песня.
Какой процесс остается держать папку???
Dim objWordApl As New Word.Application
Dim objWordDoc As Word.Document
Dim strDocName As String
Dim intMsgBx As Integer 'вариант значения при отклике юзера на сообщение MsgBox
If wdKeyEsc Then
strDocName = ActiveDocument.Name
Set objWordDoc = Documents.Item(strDocName)
'Проверка, если юзер сделал изменения
If objWordDoc.Saved = True Then 'юзер ничего не изменял
intMsgBx = MsgBox("Закрыть документ", vbQuestion + vbYesNoCancel, "Info")
'Вычисляем, что конкретно нажал юзер?
If intMsgBx = 2 Then 'если юзер нажал "Отмена"
Exit Sub
ElseIf intMsgBx = 6 Then 'если юзер нажал "Да"
objWordDoc.Close
ElseIf intMsgBx = 7 Then 'если юзер нажал "Нет"
Exit Sub
End If
Else 'юзер внес изменения - ???здесь начинается проблема, если нужно потом переименовать папку
Set objWordApl = Word.Application
objWordApl.Run "DocClose"
End If
End If
strDocName = ""
Set objWordDoc = Nothing
Set objWordApl = Nothing