powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Защита от изменений EXCel2010 делает файлы несжимаемыми
8 сообщений из 8, страница 1 из 1
Защита от изменений EXCel2010 делает файлы несжимаемыми
    #38860773
Ильгиз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем,

Есть в наличии файл Excel в 60 мб. После внесения всех изменений структура файла частично защищается от изменений, устанавливается пароль на изменения. После чего файл отдается в работу. Такой файл, созданный в Excel2007, Excel2003 - отлично сжимался и занимал 3-5 мб. ПРи установке защиты в Excel2010 файл практически перестает сжиматься и долго открывается.

Покопавшись в инете, выяснил, что в Excel2010 идет шифрование идет по методу CBC (Cipher Block Chaining), в Office 2007 шифрование шло методом ECB (Electronic CookBook).

Можно ли поменять алгоритм шифрования для конкретного офиса2010? Кроме того, В VBA есть две константы (
Код: vbnet
1.
Office.EncryptionCipherMode.cipherModeCBC = 1

и
Код: vbnet
1.
Office.EncryptionCipherMode.cipherModeECB = 0

) - не могу понять их предназначения.

Фрагмент кода такой:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    Dim p As Integer

    On Error Resume Next
    For p = 1 To Worksheets.Count
        For i = LBound(spasswords) To UBound(spasswords)
            ActiveWorkbook.Worksheets(p).Unprotect spasswords(i)
        Next i
    Next p
    
    ActiveWorkbook.SetPasswordEncryptionOptions PasswordEncryptionProvider:="", _
        PasswordEncryptionAlgorithm:="OfficeXOR", PasswordEncryptionKeyLength:=-1, _
        PasswordEncryptionFileProperties:=False
        
    For p = 1 To ActiveWorkbook.Worksheets.Count
        ActiveWorkbook.Worksheets(p).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, AllowFiltering:=True, AllowUsingPivotTables:= _
        True, Password:=spasswords(UBound(spasswords))
    Next p
    
    On Error GoTo 0
    ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:=spasswords(UBound(spasswords))
...
Рейтинг: 0 / 0
Защита от изменений EXCel2010 делает файлы несжимаемыми
    #38860816
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ильгиз,

Попробуйте сохранять в формате xlsb. Может и шифрование не надо будет менять?
...
Рейтинг: 0 / 0
Защита от изменений EXCel2010 делает файлы несжимаемыми
    #38861434
Ильгиз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, спасибо.

Было бы здорово, но для формата xls (Office 2003) никаких вариантов? Встречал надстройку, которая позволяет выбрать режим шифрования, но надстройка не вариант.
...
Рейтинг: 0 / 0
Защита от изменений EXCel2010 делает файлы несжимаемыми
    #38861523
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ильгиз,

вообще, если честно, не уловил связи между алгоритмом шифрования и размером файла. Файлы 2007 офиса должны быть наоборот меньше, т.к. они по структуре являются архивами. Слабо верится, что файл в 2003 весил 5Мб, а в 2007 стал внезапно весить 60Мб.
Опишите подробно свои действия в 2003 и в 2007, которые приводят к таким результатам.
...
Рейтинг: 0 / 0
Защита от изменений EXCel2010 делает файлы несжимаемыми
    #38861567
Ильгиз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

Немножко не так, опишу ситуацию. Изначально был и есть файл формата Office 2003 (*.xls). Он весит 60 мб. Это Шаблон. На основе данного шаблона формируются десятки подобных уже заполненных файлов для разных подразделений. Далее эти файлы защищаются (остаются для изменений только некоторые ячейки), архивируются и рассылаются подразделениям по почте.

Данный механизм работал в Office 2003 и Office 2007. То есть файлы размером 60 мб архивировались ( архив получался 5 мб) и направлялись по почте.
С одновременной миграцией на Office2010 возникла ситуация, что защищенный файл перестал сжиматься (степень сжатия 92-93%) - 59 мб в архиве. В итоге, файл необходимо разбивать на архивы по 10 мб, чтобы направить по почте. НЕкоторые подразделения таким образом получают до 40 частей, 400 мб по почте.
Я так понял, что новый алгоритм шифрования (CBC) убирает статистические данные в файле , не оставляя возможности архиватору ужать файл. В данном случае излишняя безопасность явно себя не оправдывает.

P.S. Переход на формат xlsx и xlsb хоть и уменьшит размер файла, вряд ли будет легким решением проблемы, поскольку есть множество тонкостей.
...
Рейтинг: 0 / 0
Защита от изменений EXCel2010 делает файлы несжимаемыми
    #38861595
Ильгиз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
P.P.S. Под сжатием я понимаю упаковку в RAR-архив, а не какие-то внутренние возможности Excel по оптимизации размера файла.
...
Рейтинг: 0 / 0
Защита от изменений EXCel2010 делает файлы несжимаемыми
    #38864675
maximjon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИльгизP.P.S. Под сжатием я понимаю упаковку в RAR-архив, а не какие-то внутренние возможности Excel по оптимизации размера файла.

Ну вот в формате xlsx он как раз и сжимается, причём прилично. Всё таки придётся подумать о полном переходе на 2010, хотя в качестве теста нужно отдельно по экспериментировать вам. Если сложные макросы там, придётся что-то переписать, тут никак.
...
Рейтинг: 0 / 0
Защита от изменений EXCel2010 делает файлы несжимаемыми
    #38867967
Ильгиз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maximjon, видимо так.
Всё таки надеялся, что можно как-то повлиять на сложность шифрования документа в качестве временной меры. Спасибо за ответ!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Защита от изменений EXCel2010 делает файлы несжимаемыми
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]