Макрос VB для отключения запроса на редактирование документа при открытии текстового документа из sharepoint

Есть ли способ отключить сообщение (и сделать документ доступным для редактирования по умолчанию):

Серверный документ Чтобы изменить документ, нажмите «Редактировать документ», а затем нажмите кнопку с текстом «Редактировать документ».

Я не могу найти подходящего слова. Вдобавок я не вижу способа сделать макрос VB для этого нажатием клавиши. Я использовал небольшой скрипт autohotkey, чтобы расположить мышь и щелкнуть это приглашение, но это не всегда работает, так как это зависит от положения окна. невозможно использовать клавишу табуляции, чтобы перейти к этой подсказке.

Мне нужно изменять около 50+ документов в день из sharepoint, в идеале я хотел бы объединить это с другим макросом, который выполняет другую автоматическую обработку за меня. Но я не могу найти решение VB для нажатия кнопки «Изменить».


person shelbypereira    schedule 08.04.2015    source источник
comment
Вы можете сделать это в коде или через настройки Word. Не стесняйтесь отвечать на комментарий, если вы ищете решение для кода.   -  person Comintern    schedule 11.04.2015
comment
Было бы здорово, если бы у вас был макрос VB, на самом деле я проверил ваше решение, но я не могу использовать его там, где работаю, поскольку кажется, что эти настройки заблокированы.   -  person shelbypereira    schedule 13.04.2015


Ответы (1)


В зависимости от ваших настроек безопасности (вы упомянули, что они были заблокированы) это может работать, а может и не работать.

Создайте новый шаблон с поддержкой макросов в папке автозагрузки Word (обычно в C: \ Users [YourID] \ AppData \ Roaming \ Microsoft \ Word \ STARTUP) и добавьте новый модуль класса. Я назвал свой "AutoEditEnable". Вы можете назвать его как угодно, но оно вам понадобится, чтобы оно соответствовало тому, как вы объявляете его в другом модуле.

Этот код входит в класс:

Option Explicit
Private WithEvents app As Application

Private Sub Class_Initialize()

    Set app = Application

End Sub

Private Sub app_ProtectedViewWindowOpen(ByVal PvWindow As ProtectedViewWindow)

    PvWindow.Edit

End Sub

По сути, это перехватит любые события приложения, которые вам нужны - в данном случае событие ProtectedViewWindowOpen или событие ProtectedViewWindowActivate (оба должны работать).

Поместите следующий код в ThisDocument, чтобы получить ссылку на него при загрузке шаблона:

Option Explicit
Private hook As AutoEditEnable

Private Sub Document_Open()

    Set hook = New AutoEditEnable

End Sub

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

person Comintern    schedule 13.04.2015
comment
Большое спасибо за это, обычно я мог найти это, записав макрос и посмотрев на код, но здесь это было невозможно, так как запись макроса невозможна, когда появляется всплывающее окно! Отличный четкий ответ! - person shelbypereira; 14.04.2015