Пересылка данных из документа,выбранного во View

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

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

    asdfghjkl Гость

    Есть вьха с документами. Необходимо из выделенного документа экспортировать содержимое поля док-а в Word. Но появилась проблема, при запуске действия не определяется выбранный документ. Вот что я наработал.

    Dim wk As New NotesUIWorkspace
    Dim uiview As NotesUIView
    Set uiview = wk.CurrentView
    Dim view As NotesView
    Set view = uiview.View
    Dim doc As NotesDocument
    Set doc = view.GetNthDocument(n&)
    Dim perem As Variant
    perem = doc.Vozr(0)
    If perem = "" Then
    Messagebox "Данные для пересылки отсутствуют", MB_OK
    Else
    customername = "filesword"
    Dim word As Variant
    Dim wordoc As Variant
    Set word = CreateObject("Word.Application")
    Call word.documents.add("D:\Wordproba\Admin3.dot")
    Set worddoc = word.activedocument
    worddoc.FormFields(1).result = perem
    worddoc.saveas(customername)
    End If

    Если n поставить равным 1,то с первым документом делает все как надо,но нужно чтобы он делал экспорт с выбранным док-ом
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Взять
    Код (Text):
    Set Dc = uiview.Documents
    и обработать её
    Или шмалять из под кнопки агента с Target = SelectedDocuments и в нём взять db.UnprocessedDocuments
     
  3. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Dim coll As NotesDocumentCollection
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Set db=session.CurrentDatabase
    Set coll=db.UnprocessedDocuments
    Set doc=coll.GetFirstDocument
    или
    Dim session As New NotesSession
    Dim ws As New NotesUIWorkspace
    Dim db As NotesDatabase
    Dim view As NotesUIView
    Set view=ws.CurrentView
    Set db=session.CurrentDatabase
    Set doc=db.GetDocumentByID(view.CaretNoteID)
     
  4. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Это будет выделенный документ.

    Это вроде в Action не сработает так, как надо. Как надо сработает в агенте.
     
  5. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Только лучше NotesSession.DocumentContext

    Да, в 5ке, только после второго нажатия срабатывал. В более старших версиях исправили.
     
  6. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    TIA, погодь, DocumentContext этож тока в агенте.
    Насколько я понимаю, речуга идёт про просто экшн во view.
     
  7. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    А ты попробуй ;) CuretNoteId появилось в 6ке. Как думаешь раньше текущий документ получали?
     
  8. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Подтверждаю, работает не в embedded view.
    Документ на котором стоит курсор.
    В embedded view - не работает.
     
  9. asdfghjkl

    asdfghjkl Гость

    В 7-ой версии работают оба варианта от susinmn.....спасибо!!!
     
Загрузка...
Похожие Темы - Пересылка данных из
  1. Ustas83
    Ответов:
    0
    Просмотров:
    433
  2. k85
    Ответов:
    26
    Просмотров:
    2.439
  3. Fillya
    Ответов:
    4
    Просмотров:
    1.846
  4. k85
    Ответов:
    1
    Просмотров:
    1.315
  5. SergeyKirik
    Ответов:
    16
    Просмотров:
    5.131
Статус темы:
Закрыта.

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