Приложить Attachment через диалоговое окно

Тема в разделе "Lotus - Программирование", создана пользователем -, 15 апр 2009.

  1. Гость

    Как открыть диалог для выбора файл-attachment через - Call workspace.DialogBox?
     
  2. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    ай-я-яй! кто не изучает хелп?
    stringArray = notesUIWorkspace.OpenFileDialog( multipleSelection , [title$] , [filters$] , [initialDirectory$] , [initialFile$] )

    правда, я не понял, что именно нужно :blink:))
     
  3. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Или речь идёт о DialogBox + RichText Lite? :blink:
     
  4. Гость

    Omh, прямо в точку.
    Sub Initialize
    Dim ws As New NotesUIWorkspace
    filenames = ws.OpenFileDialog(True, "Select files to add as attachment",, "c:\work")
    If Not(Isempty(filenames)) Then
    Forall filename In filenames
    ScanCopy. - а как дальше?
    End Forall
    End If
    End Sub
     
  5. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Да не, как раз вроде Akupaka в точку :blink:

    А что дальше-то надо?
    У тебя в переменной filenames находится array имён выбранных файлов.
    Вроде бы извращайся как хочешь.

    Или надо в DialogBox приложить аттачменты?
    Тогда на форме ставишь RichTextLite и кнопку с OpenFileDialog выкидываешь.
    Если надо что-то другое - конкретизируй: к сожалению, миелофон сегодня забыл дома.
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    имелось в виду, что, если нужно вложения прикладывать на форме, которая через диалог открывается, то вместо RichText нужно использовать RichTextLite... ну, это, если не явно написано, а то "миелофоны" дома пооставляли :blink:)
     
  7. Гость

    В чем траблы, не добавляется файл. Помогите.

    Sub Click(Source As Button)

    Dim ws As New NotesUIWorkspace
    Dim rt As NotesRichTextItem
    Dim uidoc As NotesUIDocument
    Dim pathName As String

    pathName$ = "d:\Consigme"
    Set uidoc=ws.CurrentDocument
    Set rt = New NotesRichTextItem(uidoc.Document, "Body")
    fileName = ws.OpenFileDialog(False, "Import Quotesheet",, "d:\Consigme")

    If Isarray(fileName) Then
    Call rt.EmbedObject(EMBED_ATTACHMENT, "", fileName(0))
    Call rt.Update
    Call uidoc.Refresh
    Else
    Msgbox "Hi:"
    End If

    End Sub
     
  8. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    тут как обычно без переоткрытия не обойдешься...
    я уже устал этот код дублировать из темы в тему ))) щас поищу...

    Код (Text):
    'тут что-то пишется в RichTextItem

    ' "прописываем" изменения в RichTextItem
    Call RichTextItem.Update

    ' тут указывается форма документа, если он был новый и форма не установлена еще, либо на всякий случай :)
    Call uidoc.Document.ReplaceItemValue("Form", "СЮДА НАДО ВПИСАТЬ ИМЯ ФОРМЫ, А ЛУЧШЕ АЛИАС")

    ' теперь открываем документ в новом окне
    Call ws.EditDocument(True, uidoc.Document)

    ' это позволяет избавиться от вопроса о сохранении закрываемого документа!
    ' причем это прописывается в "старый" экземпляр документа в памяти-instance,
    ' т.е. в открытом предыдущей командой документе это не появится и убирать не нужно оттуда ничего
    Call uidoc.Document.ReplaceItemValue("SaveOptions", "0")

    ' закрываем "старый" документ
    Call uidoc.Close(True)
    Морфеюс, это есть в CB?..
     
  9. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    А не проще метод notesUIDocument.Import использовать? Или собаку @Command([FileImport]; fileType; fileName).

    Или вообще, как сказал Omh, поставить Rich Text Lite и забыть про кнопку?
     
  10. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Во-во!
    Если в ui прикладывать аттач, то на собаках гемора в -надцать раз меньше.
    Это я про
    Код (Text):
    @Command( [EditInsertFileAttachment] )
     
  11. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    С импортом я погорячился, конечно. :blink:
     
  12. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    да и еще и пиктограмма файла номально будет отображаться, а не как если прикладывать скриптом - тогда отображается какое-то серенькое подобие ))

    но, если очень надо при этом что-то еще сделать, например, прологировать, что пользователь че-то вложил, то можно показать ws.OpenFileDialog, сохранить путь к файлу, например, в переменную окружения (@Environment), потом запустить агент, который прочитает эту переменную, выполнит @Command( [EditInsertFileAttachment] ; file ; compress ), и потрет значение переменной
    и картинка нормально, и задачу решили, и документ не надо перегружать!
     
  13. Гость

    Спасибо, большое.
     
  14. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Денис Кириченко
    А про собаки совет проигнорировал?
     
  15. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    получается, да :ph34r:
     
  16. Гость

    Нет, просто искал примеры, вот что надыбал:

    @Command([RunAgent]; "(Insert Template2)");
    @Command([EditGotoField];"Attach_Body");
    @Command([EditInsertFileAttachment];@GetField("Path_1"); 0)

    Агент открывает OpenFileDialog, сохраняет в текстовом поле, после чего файл аттачится. Вопрос а вот можно несколько файлов выделить и проатачить?
     
  17. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Денис Кириченко
    Может Rich Text Lite использовать?
     
  18. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Medevic дал намёк толщиной с канат, как лучше всего реализовать.
     
  19. Гость

    Не получается проатачить, следующим образом:ph34r: Не знаете в чем лажа.
    @Command([EditInsertFileAttachment];"C:\Documents and Settings\All Users\Документы\Мои рисунки\Образцы рисунков\Dark_Globule_1024-768.jpg"; 0); 0)
     
  20. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    :ph34r:

    Кнопка:

    @Command([EditGotoField] ; "ScanDocument" );
    @Command( [EditInsertFileAttachment] )


    где ScanDocument - имя RT поля в документе
     
Загрузка...
Похожие Темы - Приложить Attachment через
  1. hosm
    Ответов:
    0
    Просмотров:
    3.463
  2. Amfion
    Ответов:
    1
    Просмотров:
    742
  3. xpro
    Ответов:
    12
    Просмотров:
    1.949
  4. Cleric-Lviv
    Ответов:
    19
    Просмотров:
    3.595
  5. imendan
    Ответов:
    1
    Просмотров:
    3.557

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