Симптомы
При попытке программно открыть документ Microsoft Word, документ открывается как документ только для чтения и не может редактировать документ.
При добавлении кода
ReadOnly:=False
документ по-прежнему открывается как документ только для чтения.
При открытии того же документа с помощью команды Открыть , появится следующее сообщение:
Путь должен быть открыт только для чтения, если не требуется сохранять изменения. Открыть только для чтения?
Можно открыть документ для редактирования, нажмите кнопку Да в сообщении.
Причина
Эта проблема возникает потому, что Visual Basic открывает любой документ с помощью атрибута ReadOnlyRecommended значение true как документ только для чтения, даже если вы попытаетесь установить атрибут только для чтения значение false.
Примечание. В следующем примере применяется в Word 2003 и 2002:
-
Запустите Word и затем создать новый документ.
-
В меню Сервис выберите команду Параметры.
-
В диалоговом окне Параметры на вкладке Безопасность щелкните флажок Рекомендация доступа только для чтения .
-
Сохраните документ как C:\Test.doc.
-
Закройте документ.
-
Нажмите клавиши ALT + F11, чтобы запустить редактор Visual Basic.
-
В меню Вставка выберите пункт Модуль.
-
Введите в окне модуля следующий код:
Sub Test()
Documents.Open FileName:="C:\Test.doc", ReadOnly:=False
End Sub -
Нажмите клавиши ALT + F11, чтобы вернуться в Microsoft Word.
-
В меню Сервис укажите на пункт Макрос и выберите команду Макросы.
-
В списке Имя макроса выберите Тест и выберите команду Выполнить.
Документ открывается как документ только для чтения.
Временное решение
Для временного решения этой проблемы используйте следующие основные Word макрос вместо макроса Visual Basic показано в шаге 8 в разделе «Причина» данной статьи:
Sub Test()
WordBasic.FileOpen Name:="C:\Test.doc"
End Sub
С этого макроса можно редактировать файл после его открытия.
Статус
Корпорация Майкрософт установила, что это является проблемой в продуктах Майкрософт, перечисленных в начале данной статьи.