• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Открыть прикрепленный файл в режиме редактирования

PDiddy

Member
29.08.2009
8
0
BIT
0
Начальство дало поручение:

Нужно чтобы при открытии документа, автоматически открывался аттачмент (Word, Excel) в режиме редактирования.

Для этого юзаю формулу:

@Command([EditGotoField];"Body");
@Command([AttachmentLaunch])

НО, эта формула запускает прикрепленный файл в режиме "Open". В этом режиме внесенные изменения не сохраняются. Потом приходится закрывать файл и заново вручную открывать в режиме "Edit". Это и бесит ленивых начальников. :[
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
а пример (др. программные продукты), такого дебило-интерфейса, они могут привести?...
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
В свойствах формы поставить Automatically enable Edit Mode и Auto Launch?
Только ленивым начальникам придется сохранять два раза. Один раз - вложение, другой раз - документ. Осилят?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
считаю, что надо быть просто психологом, а не программистом, в таких случаях (что бы доходчево объяснить - почему так делать нежелательно)
начальство не предъявляет претензии к аське и кипу..., хотя и интерфейс не ах и ф-ции, и секкурити...
и от ворда с хехелям - не требуют "чудес", не предусмотренных дизайном (а там есть и откровенные ляпы)
 

PDiddy

Member
29.08.2009
8
0
BIT
0
В свойствах формы поставить Automatically enable Edit Mode и Auto Launch?
Только ленивым начальникам придется сохранять два раза. Один раз - вложение, другой раз -
документ. Осилят?
Знаете,
В случае On Open Automatically enable Edit Mode только документ переходит в режим
редактирования, а в документе же есть вложение..
Auto Launch -First Attachment- - запускает только первый прикрепленный файл и к тому же в
режиме "Open", а мне надо чтобы он запускался в режиме "Edit".
Для открытия одного или нескольких вложений, такая формула:
@Command([EditDocument];"1");
@Command([EditGotoField];"Body");
@For(s:=1;s<=@Length(@Text(Body))+@Attachments+4;s:=s+1;
@Do(@Command([EditRight]);@Command([AttachmentLaunch])))

А SaveOptions не поможет - в плане авто сохранения документа?
Чтобы пользоваться авто сохранением сперва мне же надо открыть файл в режиме редактирования,
иначе только документ сохранится, а измененное вложение нет (потому что оно было открыто в
режиме "Open").


а пример (др. программные продукты), такого дебило-интерфейса, они могут привести?...
У нас стоит система эл. документооборота, и мы дорабатываем ее под свои нужды.
Большая организация, соответственно и документов много а у нашяльников времени мало.
Они хотят чтобы все было максимально упрощено, т.е. 2-3 клика на обработку одного документа.
Из-за этого возникла идея об автоматической открытии файлов.
 

Мыш

Lotus Team
12.02.2008
1 213
29
BIT
43
А если старым дедовским способом - через ShellExecute?
 
A

alik86

Они хотят чтобы все было максимально упрощено, т.е. 2-3 клика на обработку одного документа.
Ох уж эти хотелки. Word/Excel - это ниразу не лотус! Вот Вы им и расскажите про "двух зайцев одним выстрелом". Как вариант, предложите отказаться от Word`ов в пользу Symphony (или вообще пусть всё делают в лотус-документе) для реализации этого "одного клика" (правда предлагайте, если будете на 100% уверены, что они не согласятся ;)) либо не выё выдуриваться и делать так как им предлагает IBM.
P.S. Никогда даже не возникало таких идей, но может быть посмотрите в сторону LotusScript с его NotesEmbeddedObject class - глядишь и поможет. Но я бы не советовал.
 
X

Xalet

@Command( [Execute] ; application ; fileNames )

а если этой?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
Большая организация, соответственно и документов много а у нашяльников времени мало.
это они так считают ;) (на нек. вещи они тратят и поболе... ;) - при 0 профита)
просто они нашли на ком "оторваться"...
предоставьте им не Нотус интерфейс, для подобных доков-действий (если уж так приспичило им)
типа открыл прикладуху, кот. дернет Нотусу и отработает по указ сценарию
я полагаю - граблей будет меньше
тулзы:
- ВСтудень (с КОМой)
- Затмение/сеть-фасоли - джава ИДЕ

ведь в таком случае им не нужно "нативного" нотусового дока
 

duchan

Green Team
20.09.2006
127
11
BIT
96
на прямую сделать что бы открывался аатач на редактирование - не получится... если все-таки встанет такая задача, то придется Вам реализовывать самому редактирование аттачей, что есть не самая тривиальная задача...
вариант 1 - при открытии деаттачите файл на диск, запускаете ворд\ехель (если только MS то можно через ком) открываете там ваш деаттачнутый файл (командами ком или передавая в командной строке если не ком), далее следите за "жизнью" приложения и файла... можно отслеживать сохранение файла и сразу аттачить обратно, можно после закрытия приложения, можно по кнопке на форме.... проблема - сам лотусовый док-т править в этот момент нельзя, ибо получите конфликт, либо файл пихаем в секцию с ограниченным доступом - тогда можно сохранять и то и другое (но не забывать что в локале это не работает без галки в ACL "Enforce a .....")
вариант 2 - те же яица только в профиль - можно замутить открывать через внедренный объект в форму - тут теже что и в первом варианте пляски с бубном плюс еще и внедренным объектом управлять - но зато красиво все в одном окне лотуса (правда последние версии офиса без спец патча не хотят рабоать во внедренной среде)

"тараканов" на этом пути множество - так что решите стоит ли игра свечь.... :ya_lamo:
 
G

Guest

Я в нашем документообороте так и сделал, как написал DuChan. Пока не жалуются. Совет: чтобы сравнить изменен был документ или нет, нужно при открытии документа скриптом создать папку с названием - содержащую UniversalID документа с которого открываете аттач во временную директорию пользователя, затем туда выгружаете файл. В этот момент дата создания папки всегда позже чем дата последнего изменения файла. При закрытии вашего документа или при каком нибудь другом действии нужно всего лишь найти эту папку, что не составит труда имея UniversalID текущего документа и сравнить дату создания папки с датой последнего изменения файла в этой папке, если дата файла больше просто переаттачить файл. Затем удалить папку. Всего доброго!!!
 
Мы в соцсетях:

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