2017-02-09 1 views
0

OLE를 통해 Lotus Notes에서 선택한 메일을 가져 오려고합니다. 지금까지 내가 이런 식으로 일을했다 : 나는 예상대로 작동이 메일 내부보기입니다 때Lotus Notes는 OLE를 통해 선택된 메일을받습니다.

UIView := FLNotes.CURRENTVIEW; 
UIDocuments := UIView.DOCUMENTS; 

    for counter := 1 to UIDocuments.Count do begin 
    if counter = 1 Then 
     aDocument := UIDocuments.GETFIRSTDOCUMENT 
    else 
     aDocument := UIDocuments.GETNEXTDOCUMENT(aDocument); 

    ProcessDokument (aDocument) 

, 내가 옆에 체크 표시를 넣어 바로 메일 도착 (그래서 나는 얻을이 메일) 이제 enter image description here 어디 선가 "SEM"가 특정 메일을 검색하려면, 나는 검색 탭으로 전환 :

enter image description here

지금 내 코드는 모든 눈에 보이는 문서를 반환하는 문제가 있고,뿐만 아니라 내가 선택한 사람. 여기서 나는 그 중 하나를 선택하지 않았지만, 여전히 for 루프는 모든 문서에 대해 7 번 실행됩니다.

내 질문에 모든 문서가 처리되는 이유는 무엇입니까? 특히 그 중 하나를 선택하지 않은 이유는 무엇입니까? 특히 사서함 내부에있는 동작이 다른 이유는 무엇입니까? 그리고 내가 선택한 것들을 확인하는 방법이 있습니까?

감사

답변

0

대답은 전체 텍스트 검색 후, 당신이보기에 정말하지 않은 것입니다. 보기와 같이 보이는 전체 텍스트 검색 결과 목록에 있지만 실제로는보기 상단에 오버레이가 있습니다. 실제보기를 볼 수 있으면 결과 목록에있는 문서가 선택됩니다!

NotesUIWorkspace class에는보고있는 현재 전체 텍스트 검색 결과 목록을 가져 오는 방법이 없으므로 (문서를 표시하는 NotesUIFTSearchResults 클래스도 없음) 문서에 액세스 할 수있는 방법이 없다고 생각합니다. 결과 목록에서 수동으로 선택한

결과 목록에있는 모든 문서의 데이터를 가져 와서 대화 상자를 만들고 사용자에게 보여 주면 사용자가 결과 대신 대화 상자에서 문서를 선택할 수 있습니다. 자체 목록을 작성한 다음 사용자가 선택한 코드에 코드를 적용 할 수 있습니다. 코드를 보지 않고 ProcessDokument() 루틴에서 무엇을하려고하는지 알지 못하더라도 합리적인지 여부는 알 수 없습니다.

관련 문제