приаттаченные M$ Office документы

  • Автор темы Chernom0r
  • Дата начала
Статус
Закрыто для дальнейших ответов.
C

Chernom0r

Гость
#1
Здравствуйте!
Есть проблема. Я уверен что я не первый кто с ней столкнулся ;)
Допустим, есть документ в базе. В документе присудствует RT поле body с одним или несколькими аттачами из документов M$ Office.
Человек нажимает на интересующем документе и ему предлагают (View... | Launch... | Detech...). Есстественно нажимается Launch :).
Без проблем загружается нужное приложение M$ и в нем открывается данный документ. Далее самое интересное....
Документ часто нужно подредактировать и оставить в новом виде в той-же форме в базе. Только вот при нажатии ^S или File-Save в, например, Word'е дока сохраняется в ~/Documents and settings/local settings/temp/C.Lotus.Notes.Data с именем файла произвольное_имя_файла.doc.
Можно ли как-нибудь обойти это?

У меня есть соображение по этому поводу:
При открытии формы нужно отслеживать событие Launch и при этом запомнить где-нить РЕАЛЬНОЕ имя файла (например, отчет.xls), далее запомнить еще где-нить новое имя файла (например ~133746653.xls). А после при закрытии формы, нужно заменить старый аттач (отчет.xls) новым ~/Documents and settings/local settings/temp/C.Lotus.Notes.Data/ ~133746653.xls, но уже с именем отчет.xls.

Вот только как это провернуть я еще не знаю :\
Есть ли у Вас какие-нить соображения по этому поводу???
Буду очень признателен за высказанные мысли.
 
V

Veselinka

Гость
#2
Чтобы офисный (или иной) документ редактировался и сохранялся как часть документа лотуса необходимо хранить его в РТФ поле не как атач, а как эмбед (то есть использовать на кнопке "Вложить документ" код который вызывает метод Embed).

Далее, при открытии документа ты можешь сделать кнопку, которая будет открывать этот вложенный объект. Или можешь в свойствах формы указать что при открытии ланчить первый олешный объект - тогда будет просто сразу док открываться и сохраняться прямо в документ лотуса.
 
C

Chernom0r

Гость
#3
:\
Хм-м-м... Т.е. вместо стандартного File - Attach я помещаю на форму свою кнопку "Вложить" и описываю в свойствах
Set notesEmbeddedObject = notesRichTextItem.EmbedObject( type%, class$, source$, [ name$ ] ) ???
Я, честно говоря, думал что при приаттачивании файла через File - Attach в поле body типа RichText как раз и происходит присоединения Embed обьекта.

Далее, при открытии документа ты можешь сделать кнопку, которая будет открывать этот вложенный объект. Или можешь в свойствах формы указать что при открытии ланчить первый олешный объект - тогда будет просто сразу док открываться и сохраняться прямо в документ лотуса.
А здесь мне совсем не понятно :(.
Не могли бы Вы, Veselinka, разьяснить поподробнее, если Вас это не затруднит.
 
V

Veselinka

Гость
#4
Dim ws As New NotesUIWorkspace
Dim curdoc As NotesDocument
Set curdoc = ws.CurrentDocument.Document

If curdoc.HasEmbedded Then
Set obj = curdoc.EmbeddedObjects(0)
Else
Messagebox "Шаблон отчета не найден!",16,"Ошибка"
Exit Sub

End If
Call obj.Activate(True)
 
V

Veselinka

Гость
#5
по-поводу второго способа посмотри свойства формы - там на 3 закладке опции autolanch
 
V

Veselinka

Гость
#6
еще момент:
в 6-ке работа с атачами реализована так как ты хочешь - на уровне самой системы. То есть атач можно редактировать и сохранять прямо в документ, поэтому в 6-ке можно с оле не заморачиваться
 
C

Chernom0r

Гость
#7
У меня 5-ка.
Только что попробовал... Действительно при File - Attach создается обьект $File, а не Embed :(
У меня возник вопрос как мне создать кнопку по нажатию которой появлялся бы диалог выбора файлов на диске с их последующим присоединением к документу в качестве EmbeddedObjects.
И кстати... А если таких файлов будет несколько? При использовании Auto Launch запускается первый OLE обьект на форме. Т.е. никакой свободы выбора.
 
G

Guest

Гость
#9
в 6 релизе домино проблем такого рода вообще не возникает (да и многих других)...
не морочь себе голову, поставь 6-ку, уже скоро 7 - ой релиз выйдет, а ты еще с 5-ым возишься...

(с) nor
 
C

Chernom0r

Гость
#10
<!--QuoteBegin-Guest+1:06:2004, 13:23 -->
<span class="vbquote">(Guest @ 1:06:2004, 13:23 )</span><!--QuoteEBegin-->в 6 релизе домино проблем такого рода вообще не возникает (да и многих других)...
не морочь себе голову, поставь 6-ку, уже скоро 7 - ой релиз выйдет, а ты еще с 5-ым возишься...

(с) nor[/quote]
Есть такое понятие -- КОРПОРАТИВНЫЙ СТАНДАРТ.
Некоторые организации до сих пор на R4 сидят с серверами на M$ Win NT 4.0
Не будет пока у нас 6-ки. Возможно позже плавно перейдем. но не сейчас.
 
V

Veselinka

Гость
#11
через методы NotesUIWorkspace если память не изменяет есть диалог выбора файла. Лотуса под рукой нет посмотреть точное название. А вот: stringArray = notesUIWorkspace.OpenFileDialog( multipleSelection [, title$ [, filters$ [, initialDirectory$ [, initialFile$ ]]]] )

В своей постановке задачи выбирай удобный для тебя метод активации, мое дело было указать тебе возможные варианты, сделать выбор и адаптировать под себя выбранный - это уже твоя задача.
 
Статус
Закрыто для дальнейших ответов.