Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2012, 11:55   #1
lugafin
 
Регистрация: 09.05.2012
Сообщений: 4
По умолчанию Снятие цифровых подписей и защиты листа для множества файлов

Добрый день,
Сейчас посадили делать очень, если так можно выразиться, монотонную работу. Что есть:
1. Есть папка в которой находятся 7+ тыс файлов Excel (*.xls, *.xlsx)
2. Некоторые файлы защищены цифровой подписью (одной или несколькими)
3. У каждого файла файла защищён первый лист (пароль везде одинаковый)
Задача такова:
Убрать из каждого файла и цифровую подпись и защиту листа.

Если кто-нибудь с подобным сталкивался буду очень признателен за помощь!
lugafin вне форума Ответить с цитированием
Старый 11.05.2012, 12:06   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Запишите в макрос снятие цифровой подписи и защиты. Добавьте цикл по всем файлам в папке (поиск рулит).
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 11.05.2012, 12:22   #3
lugafin
 
Регистрация: 09.05.2012
Сообщений: 4
По умолчанию

К сожалению, я далёк от программирования в принципе.

Поэтому и пришёл на форум.
lugafin вне форума Ответить с цитированием
Старый 11.05.2012, 12:41   #4
lugafin
 
Регистрация: 09.05.2012
Сообщений: 4
По умолчанию

Проявив немного логики, гугла и смекалки получилось наваять такой макрос:

Код:
Option Explicit
Option Compare Text

Const FLDR As String = "C:\Users\Al\Desktop\fin"

Sub Serge_007()

    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        processFolder FLDR
        .EnableEvents = True
        .ScreenUpdating = True
    End With
    MsgBox "Готово"
End Sub

Private Sub processFolder(fName As String)
    Dim fso As Object, file As Object, wb As Workbook, VBC As Object

    Set fso = CreateObject("scripting.filesystemobject")
    Set fso = fso.getfolder(fName)
    For Each file In fso.Files
        If file.Name Like "*.xls*" Then
            Set wb = Workbooks.Open(file)
            With wb.Sheets(1)
                .Unprotect Password:="Vjifr"
              
            End With
            wb.Close True
        End If
  
    Next
End Sub
Насколько я понимаю, сия шайтан-операция должна будут удалить защиту с листов в книге.

Только вот работать не хочет, буду думать.

К сожалению про цифровые подписи так ничего и не нашёл, если у Вас есть что-нибудь - помогите -)
lugafin вне форума Ответить с цитированием
Старый 11.05.2012, 13:43   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Думаю нужно
Код:
Const FLDR As String = "C:\Users\Al\Desktop\fin\"
Не проверял.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 11.05.2012, 13:46   #6
lugafin
 
Регистрация: 09.05.2012
Сообщений: 4
По умолчанию

Спасибо.

Много покопался в различной литературе теперь всё работает и я счастлив -)

Пойду бить баклуши!

Всем кто постарался помочь - шикарных выходных!

ЗЫ
Макрос приведённый выше, как оказалось, работает (вопрос был в наличии цифровых сертификатов)
Решение моей проблемы я нашёл в надстройке RDB Merge - просто консолидировал все данные из файлов в одной книге(как оказалось - плевать хотела эта программа на цифровые сертификаты), после чего наколбасил в Экселе макрос на копирование данных в нужной мне последовательности.

Последний раз редактировалось lugafin; 11.05.2012 в 13:52.
lugafin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снятие защиты листа Кнопка77 Помощь студентам 3 25.06.2013 10:44
Дизассемблирование\Снятие защиты ORiEN Goblenus Помощь студентам 0 05.10.2011 23:10
Снятие защиты на макросах sasha_prof Microsoft Office Excel 5 04.06.2010 16:41
защита листа и снятие защиты в зависимости от логина Dorvir Microsoft Office Excel 2 30.06.2008 13:24