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

Тема в разделе "Lotus - Программирование", создана пользователем Chernom0r, 31 май 2004.

Статус темы:
Закрыта.
  1. Chernom0r

    Chernom0r Гость

    Здравствуйте!
    Есть проблема. Я уверен что я не первый кто с ней столкнулся ;)
    Допустим, есть документ в базе. В документе присудствует 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.

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

    Veselinka Гость

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

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

    Chernom0r Гость

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

    А здесь мне совсем не понятно :(.
    Не могли бы Вы, Veselinka, разьяснить поподробнее, если Вас это не затруднит.
     
  4. Veselinka

    Veselinka Гость

    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)
     
  5. Veselinka

    Veselinka Гость

    по-поводу второго способа посмотри свойства формы - там на 3 закладке опции autolanch
     
  6. Veselinka

    Veselinka Гость

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

    Chernom0r Гость

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

    Chernom0r Гость

    ---------- дубль -------------
     
  9. Guest

    Guest Гость

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

    (с) nor
     
  10. Chernom0r

    Chernom0r Гость

    <!--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-ки. Возможно позже плавно перейдем. но не сейчас.
     
  11. Veselinka

    Veselinka Гость

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

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

Поделиться этой страницей