Страницы: 1
RSS
VBA. Открыть ненадежную книгу (режим Protect View)
 
Взываю к коллективному разуму )

Исходные.
Папка "test". В ней множество папок, в каждой из которых до 30 книг. Книги создавались сторонним приложением, многие из них открываются в режиме защищенного просмотра.
Папка "test" добавлена в исключения защитника системы. Как я понимаю, если папка в исключениях, то и все ее содержимое в исключениях.

Проблема.

Открывание макросом книг с Protect View приводит к ошибке - система считает, что она меня спасает от катастрофы.
Код
Sub test()
    Dim wBook As Workbook
    Dim sPath As String, sFName As String
    
    sPath = "D:\": sFName = "abc.xls"
    Set wBook = Workbooks.Open(Filename:=sPath & sFName, ReadOnly:=True)
    
    Set wBook = Nothing
End Sub

ReadOnly:=True не помогает.
Можно ли обойти защиту?  Нужно только открыть и взять в массив данные.

Примера для тестирования нет. Вернее, таких книг куча, но туда смотреть "низзя!", секреты.
Подойдет любая книга в режиме защищенного просмотра

P.S. Изменил переменную (замечание ниже)
 
Виктор,
в коде ошибка
sPath <> sFldr
у меня файл, который с проводника открывается в режиме Защищенного просмотра с вопросом "Разрешить редактирование"
стандартный Workbooks.Open открывает без всяких вопросов и ЮзедРендж залетает в массив тоже без проблем
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Книги создавались сторонним приложением
не имеет значения, как создавались

Цитата
Папка "test" добавлена в исключения защитника системы. Как я понимаю, если папка в исключениях, то и все ее содержимое в исключениях.
Вовсе нет. никакой связи.
Если речь по Защитника Windows - то он не связан никак с Office (по крайней мере, касательно этой темы)

Вероятная причина проблемы: в настройках безопасности Excel заданы ограничения
Решение проблемы: нажимаем в меню Excel Файл — Параметры — Центр управления безопасностью, и потом справа кнопку Параметры центра управления безопасностью ....
В появившемся окне в левом столбце есть пункты Надёжные расположения и Надёжные документы.
По очереди заходим в каждый из этих разделов, и ставим галочки «Отключить все надёжные расположения» и «Отключить надёжные документы».
Ну и на вкладке ЗАЩИЩЕННЫЙ ПРОСМОТР снимаем все галочки.
Теперь закрываем Excel, и пробуем снова запустить макрос.
Изменено: Игорь - 12.05.2020 04:12:42
 
Цитата
Ігор Гончаренко написал: в коде ошибкаsPath <> sFldr
ага, это путь для примера прописывал, в рабочем коде все в порядке.

Цитата
стандартный Workbooks.Open
А у меня нестандартный?

Цитата
Игорь написал:  ставим галочки «Отключить все надёжные расположения» и «Отключить надёжные документы».
Ну и на вкладке ЗАЩИЩЕННЫЙ ПРОСМОТР снимаем все галочки
К сожалению, не помогло. Та же попытка защитить меня, неразумного. При открывании вручную предупреждение тоже осталось.
 
Доброе время суток.
Виктор, попробуйте со всеми приседаниями
Код
Set wBook = Workbooks.Open(Filename:=sPath & sFName, Editable:=False, IgnoreReadOnlyRecommended:=True, Notify:=False, UpdateLinks:=False, ReadOnly:=False)
 
Спасибо, Андрей, но и зарядка не помогла )

В Надежных документах: "Отключить надежные документы" - галку вернул на место
В Защищенном просмотре - все галки вернул на место.
В Надежном расположении: "Разрешить надежные расположения" - галку вернул на место.
Помогло добавление вложенных папок  (каждой) в надежные расположения.
В макросе без галки разрешения, видимо, не получится.

Спасибо за помощь. Подсказки дали пинок в нужную сторону.
Страницы: 1
Наверх