Страницы: 1
RSS
Снятие цифровой подписи (макрос)
 
Добрый день, уважаемые форумчане!
Помогите, пожалуйста.
Вот у меня есть файл Макрос, который собирает в себя данные из  всех файлов формата эксель, хранящихся с ним в одной папке .
По сути это табельная книга, собирающая в с себя данные из приказов.
Я столкнулась с проблемой: приказы подписаны ЭЦП, в связи с чем макрос не работает.
Тогда мне добрый форумчанин помог и написал доп.макрос, который снимает ЭЦП. Но этот макрос никак не работает до тех пор, пока не пересохранишь файл.
Видимо, когда подписываем файл ЭЦП, формат "ломается"
Я жму да, и  ТОЛЬКО после этого ЭЦП дает снять.
Во вложении макрос для снятия ЭЦП, который не работает без пересохранения.
И Во вложении  макрос-попытка для пересохранения файла, но он не работает поскольку есть ЭЦП (какой-то замкнутый круг)
Дело в том, что таких приказов по 200 -300 штук приходит.

Один форумчанин написал : чтобы в цикле не выскакивал диалог с ошибкой воспользоваться в процессе открытия файлов функцией  Open в режиме данных:
Workbooks.Open sFileName, False, , , , , , , , , False, , False, , xlExtractData..
Но я в макросах новичок, не соображаю куда вставить это, чтобы все исправилось.
Прошу, помогите,пожалуйста!!
Изменено: Элли93 - 17.11.2016 19:22:44
 
Элли93, ведь тяжело читать такой текст. Уберите форматирование.
 
Подниму тему.

Аналогичная проблема, есть макрос, который копирует данные из других файлов excel. Некоторые файлы подписаны ЦП, из таких файлов данные копировать не получается. Можно ли сделать так, чтобы макрос предварительно убирал ЦП?
 
Evgeny-E, попробуйте открыть так:
Код
Application.DisplayAlerts = False

Workbooks.Open Filename:= sFileName, CorruptLoad:=True
На моем компьютере файл с ЦП открылся
Изменено: AlbertSF - 16.09.2020 14:11:02
 
Цитата
AlbertSF написал:
Evgeny-E , попробуйте открыть так:

Файл открывается, ЦП в нем становится недействительной, но скопировать что-нибудь из файла не получается
 
Может кому пригодится.

Я решил эту проблему так, после открытия нужного мне файла создается его копия с помощью SaveCopyAs:
Код
ActiveWorkbook.SaveCopyAs Path & "123.xlsx"
из файла 123.xlsx копируются нужные данные, затем он удаляется:
Код
Kill (Path & "123.xlsx")
Страницы: 1
Наверх