kedar001 Ответов: 1

Документ Word 16 открывается в заблокированном режиме


я открываю файл Word из своего приложения в HTTP Path
т. е. http:\\Server\SiteName\TempFiles\filename.docx

Файл Word, показывающий сообщение как "Только для чтения : этот документ заблокирован для редактирования другим пользователем"

из - за этого мой макрос не работал

Protection = ActiveDocument.ProtectionType
       If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then
           ActiveDocument.Unprotect "password"
           WordBasic.AcceptAllChangesInDoc
           ActiveDocument.Protect Protection, False, "password"
           Call updateCustomVariables
           ActiveDocument.Saved = True
           Exit Sub
       End If


каждая вещь работает нормально
и все еще прекрасно работает на офисных (Word) 13,10 машинах
эта проблема внезапно начинается с последних 3 - 4 дней
я получаю ошибку, так как команда не удалась (Ошибка времени выполнения 4198) для office 16<
никаких обновлений office
нет Центра обновления windows
пожалуйста помочь...

Что я уже пробовал:

Проверьте настройку надежного расположения Word т. е. разрешите доверять документам из сети
отключить все параметры защищенного просмотра

F-ES Sitecore

Вы не можете редактировать файлы через HTTP таким образом, это среда только для чтения. Когда вы получаете доступ к файлу через http, Word, вероятно, загружает его во временную папку и помечает как заблокированный\только для чтения, или это делает ОС.

kedar001

спасибо за ответ..
да, я хочу, чтобы файл был только для чтения, но он, похоже, заблокирован
вышеприведенный макрос отлично работает для всех версий office
но не я получаю ошибку, так как команда не удалась (Ошибка времени выполнения 4198) для office 16 за последние несколько дней для строки "ActiveDocument.Снять защиту "пароль""

1 Ответов

Рейтинг:
1

OriginalGriff

Прочитать сообщение:

READ ONLY : This Document is Lock for Editing by another user
Это означает именно то, что он говорит: файл используется, и пока он больше не используется, Вы не можете получить к нему доступ.

Вероятно, ваше приложение не закрывает файлы Интернета вещей должным образом, и файл остается в использовании из "предыдущего воплощения" вашего приложения или предыдущей операции в вашем приложении.

Но мы ничем не можем вам помочь в этом: вам нужно выяснить, где и почему - а это означает доступ к коду yoru и файловой системе, пока она работает, а у нас нет ни того, ни другого.
Так что все будет зависеть от тебя.
К счастью, у вас есть инструмент, который поможет вам выяснить, что происходит: отладчик. Если вы не знаете, как его использовать, то быстрый Google для "Visual Studio debugger" должен дать вам необходимую информацию.

Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!


kedar001

тот же документ открывается из офиса 13 или 10

OriginalGriff

Скорее всего, способ обработки MS изменился, учитывая, что Word V13 был до перехода на открытие стандартных форматов документов (DOCX вместо DOC) и блокировки перемещения в отдельный внешний файл вместо блокировки дескриптора ОС.
В более поздних версиях, если ваше приложение завершает работу, не выключив Word должным образом, файл блокировки может сохраняться и все еще находиться там для последующих запусков.