• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Проблема Шифрование MS Word средствами LotusScript

AGLevchenko

Member
19.12.2018
13
0
BIT
9
Помогите с проблемой, может кто уже сталкивался.
Средствами LS создаю и заполняю документ MS Word.
Хочу оградить юзверей от исправления данного документа стандартными средствами MS.
Записал макрос, получил строки

Selection.Editors.Add wdEditorEveryone
ActiveDocument.Protect Password:="rktjgfnhf", NoReset:=False, Type:= _
wdAllowOnlyReading, UseIRM:=False, EnforceStyleLock:=False

Перенес в Lotus:
Set WordApp = CreateObject (Word.Aplication)
Set WordDoc = WordApp.Document.Open (FilePath)

WordApp.Selection.Editors.Add -1
WordDoc.Protect "Password", false, 3, False, False

Выдает ошибку:
Automation object argument type mismatch
на строке
WordDoc.Protect "Password", false, 3, False, False


Количество аргументов такое-же, с типами тоже тяжело ошибиться

Подскажите, что может быть?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
609
BIT
257
Помогите с проблемой, может кто уже сталкивался.
Средствами LS создаю и заполняю документ MS Word.
Хочу оградить юзверей от исправления данного документа стандартными средствами MS.
Записал макрос, получил строки

Selection.Editors.Add wdEditorEveryone
ActiveDocument.Protect Password:="rktjgfnhf", NoReset:=False, Type:= _
wdAllowOnlyReading, UseIRM:=False, EnforceStyleLock:=False

Перенес в Lotus:
Set WordApp = CreateObject (Word.Aplication)
Set WordDoc = WordApp.Document.Open (FilePath)

WordApp.Selection.Editors.Add -1
WordDoc.Protect "Password", false, 3, False, False

Выдает ошибку:
Automation object argument type mismatch
на строке
WordDoc.Protect "Password", false, 3, False, False


Количество аргументов такое-же, с типами тоже тяжело ошибиться

Подскажите, что может быть?
во-первых это не шифрование и ломается на раз, во-вторых - аргументы передаваемые по имени не поддерживаются в ЛС, в-третьих и далее ;) - никак не могу понять смысла создания пароля для файла если он д.б. только на чтение...
ответ простой - ПДФ!!!
ЗЫЖ создавал пароль в КОМе , не помню доп. параметров, проблем не было
 
Последнее редактирование:

AGLevchenko

Member
19.12.2018
13
0
BIT
9
во-первых это не шифрование и ломается на раз, во-вторых - аргументы передаваемые по имени не поддерживаются в ЛС, в-третьих и далее ;) - никак не могу понять смысла создания пароля для файла если он д.б. только на редактировние...
ответ простой ПДФ!!!
ЗЫЖ создавал пароль в КОМе , не помню доп. параметров, проблем не было
Немного предыстории.
Заказчик возжелал чтобы во всех документах были одинаковые кавычки, и не “английские двойные” а Русские «ёлочки» .
В Text полях документа их заменить не проблема, а вот в RichText оказалось сложнее. RichText-овый Replace через раз коверкает текст.
Было решено встроить в форму документа Word Ole-объектом.
Встроенный Word можно редактировать только когда документ открыт на редактирование, но для печати я выкидываю его в другой шаблон Wordа. (для заполнения остальных данных из документа)
Хотелось бы оградить Юзверя от корректировки выходной формы.
Думал сделать это ограничением доступа на редактирование, но если есть ещё варианты - готов выслушать (прочитать) любые предложения.
Для формирования PDF файла необходимо устанавливать доп ПО на всех ПК, что мне не разрешат сделать безопасники.

А, да...
Для поддержки именных аргументов скачал библиотеку.
И в ЛС пробовал как именные аргументы, так и числовые (взял из мелкомягкого VB Debagerа)
 
Последнее редактирование модератором:

duchan

Green Team
20.09.2006
128
11
BIT
131
Последовательность именных параметров не совпадает с последовательностью, как должно быть при использовании стандартной нотации (как в LS) - всегда надо смотреть документацию (!)

Document.Protect method (Word)

Protects the specified document from unauthorized changes.
Syntax

expression.Protect (Type, NoReset, Password, UseIRM, EnforceStyleLock)

и т.д.
 
  • Нравится
Реакции: AGLevchenko

AGLevchenko

Member
19.12.2018
13
0
BIT
9
Спасибо, сработало!
Я не ожидал что меня подведет "запись макроса". Век живи, век учись! Все равно дураком помрешь...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
609
BIT
257
Думал сделать это ограничением доступа на редактирование, но если есть ещё варианты - готов выслушать (прочитать) любые предложения.
важен весь процесс:...
как я делал - поля в нотусне, "шаблон" ворда (docx с именами полей для подстановки), замена полей/закладок/шаблонов слов, на выходе ПДФ
изначально в КОМе, щас переделаю на Aspose (вызов через xpage)
я сам-себе админ, но для реализации не нужно админских прав (для установки либ, для хэпагов они в самой БД) только джава полиси (конкретно java.pol)
 

VladSh

начинающий
Lotus Team
11.12.2009
1 791
157
BIT
123
lmike
Ты предлагаешь комбайн с кучей программирования, а человек хочет вызвать 1 метод.
 
  • Нравится
Реакции: AGLevchenko

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
609
BIT
257
lmike
Ты предлагаешь комбайн с кучей программирования, а человек хочет вызвать 1 метод.
это сейчас, а потом начнется... ;)
замена слов в КОМе ограничена кол-вом символов (причем ощутимым), запустить на сервере - еще тот кастыль, отслеживание времени жизни КОМы - тоже "нестабилен"..., а началось с "не нравятся кавычки" ;)
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
38
это сейчас, а потом начнется... ;)
замена слов в КОМе ограничена кол-вом символов (причем ощутимым), запустить на сервере - еще тот кастыль, отслеживание времени жизни КОМы - тоже "нестабилен"..., а началось с "не нравятся кавычки" ;)
а аспоз кушать хочет)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
609
BIT
257
а аспоз кушать хочет)
с самой вордятиной нет проблем все сделать через POI, а вот в ПДФ будут бубны - верстка поплывет даже при jodconvertor или onlyoffice
цена вопроса aspose для организации купившей домину + МСО + видовссервер... - сущие пустяки ;)
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
38
с самой вордятиной нет проблем все сделать через POI, а вот в ПДФ будут бубны - верстка поплывет даже при jodconvertor или onlyoffice
цена вопроса aspose для организации купившей домину + МСО + видовссервер... - сущие пустяки ;)
ну, я сам себе организация, поэтому ток тырить)
домину 3 раза покупал, пока к клиентам отношение было нормальное, щщя, наверна, уже не стану, ввиду неадекватности поведения вендора (с моей точки зрения)
в ПДФ айтекстом гоню, если из форм, из хепаг пдфпринтером(( пока
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
609
BIT
257
в ПДФ айтекстом гоню, если из форм, из хепаг пдфпринтером(( пока
если сразу в ПДФ - то возможно, если из докхэ - я мало себе представляю, там столько но и если - задолбаешься прогать...
Потому - если финансы позволяют аспоз уже упростили весь это мсявый треш - не нужно сильно внутрь залезать ;)
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Немного предыстории.
Заказчик возжелал чтобы во всех документах были одинаковые кавычки, и не “английские двойные” а Русские «ёлочки» .
В Text полях документа их заменить не проблема, а вот в RichText оказалось сложнее. RichText-овый Replace через раз коверкает текст.
Было решено встроить в форму документа Word Ole-объектом.
Встроенный Word можно редактировать только когда документ открыт на редактирование, но для печати я выкидываю его в другой шаблон Wordа. (для заполнения остальных данных из документа)
Хотелось бы оградить Юзверя от корректировки выходной формы.
Думал сделать это ограничением доступа на редактирование, но если есть ещё варианты - готов выслушать (прочитать) любые предложения.
Для формирования PDF файла необходимо устанавливать доп ПО на всех ПК, что мне не разрешат сделать безопасники.

А, да...
Для поддержки именных аргументов скачал библиотеку.
И в ЛС пробовал как именные аргументы, так и числовые (взял из мелкомягкого VB Debagerа)
DXML поможет нормально заменить кавычки в РТ поле
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!