Работа с папкой

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

  1. makaset

    makaset Well-Known Member

    Регистрация:
    14 мар 2007
    Сообщения:
    126
    Симпатии:
    0
    Здраствуйте. филтрую данные по дате в папку далее мне надо эти данные експортировать в ексел кто поможет. код у меня такой.

    Dim ws As New NotesUIWorkspace
    Dim session As New NotesSession
    Dim searchDoc As NotesDocument
    Dim dc As NotesDocumentCollection
    Dim find As String
    Set searchDoc = New NotesDocument(session.CurrentDatabase)
    If ws.DialogBox("SearchForm", True, True, False, False, False, False, "Search", searchDoc , True) Then
    'find = {(free= "} + Cstr(searchDoc.Search(0)) + {")}
    find = {(free= "free")}
    find = find + {&(@Created >= @TextToTime("} + searchDoc.Date1(0) + {"))}
    find = find + {&(@Created <= @TextToTime("} + searchDoc.Date2(0) + {"))}

    Set dc = session.CurrentDatabase.Search(find, Nothing, 0)
    Call dc.PutAllInFolder("Search", False)
    Call ws.ViewRefresh
    End If

    ' ------------------------------- теперь запускаем ексел
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    xlApp.Workbooks.Add
    Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
    xlApp.Selection.MergeCells = True

    далее у меня не получается запихнуть из паки в ексел
     
  2. DNT

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

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

    что именно не получается?
     
  3. makaset

    makaset Well-Known Member

    Регистрация:
    14 мар 2007
    Сообщения:
    126
    Симпатии:
    0
    експоритроват. если честно незнаю как цикл организовать
    For i = 1 To dc.Count

    поле1 екселя= данны из документа // до данных немогу достучится
    поле2 екселя= данны из документа
    поле3 екселя= данны из документа
    next
     
  4. DNT

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

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    ...
    Set xl=CreateObject("Excel.Application")
    Set xlWorkbook = xl.Workbooks.Add
    Set xlsheet = xl.Workbooks(1).Worksheets(1)
    xl.StatusBar = "Производится экспорт. Подождите."
    xl.Visible = True
    xl.ReferenceStyle = 2

    ' Заполняем заголовки столбцов
    xlsheet.Cells(1,1).Value = "Код"
    xlsheet.Cells(1,2).Value = "Номер документа"
    xlsheet.Cells(1,3).Value = "Контрагент"
    xlsheet.Cells(1,4).Value = "Краткое содержание"
    xlsheet.Cells(1,5).Value = "Сумма"


    For j = 1 To DC.Count
    Set Doc = DC.GetNthDocument(j)
    xlsheet.Cells(j+1,1).Value = Doc.rgCode(0)
    xlsheet.Cells(j+1,2).Value = Doc.rgDocNumber(0) + " от " + Cstr(Doc.rgDocDate(0))
    xlsheet.Cells(j+1,3).Value = Doc.rgNameAgent(0)
    xlsheet.Cells(j+1,4).Value = Doc.rgContents(0)
    xlsheet.Cells(j+1,5).Value = Doc.rgDocSumm(0)
    Next
    ...
    xl.StatusBar = "Экспорт завершен."
    Set xl = Nothing
    ...

    поиском на форуме не пользуешься :D . Экспорт в Эксель довольно распостраненная тема.
     
  5. makaset

    makaset Well-Known Member

    Регистрация:
    14 мар 2007
    Сообщения:
    126
    Симпатии:
    0
    я немогу до данных фолдера добратся

    поле1 = данны из фолдера\
    например
    поле1 = entry.ColumnValues(1) вюхе пишется так
    а в фолдере как пишется
    типа
    поле1 = fieldvaule1
     
  6. DNT

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

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

    а зачем тебе данные фолдера??? ты собрался экспортировать поля документов, вроде. Или нет?
    Если да, то собираешь коллекцию документов сначала, допустим все выденные документы в папке, а потом на этой DC (NotesDocumentCollection) запускаешь код экспорта.

    Если надо работать с данными столбцов и строк папки то используй NotesViewNavigator

    пример: http://notesnet.ru/nn/notesnet.nsf/note/C0...3256F58004AA385
     
  7. makaset

    makaset Well-Known Member

    Регистрация:
    14 мар 2007
    Сообщения:
    126
    Симпатии:
    0
    я извиняюсь че то непойму. где откуда как появляется данные толко только разбираюсь. лотусом я начал работат неделя назад. с вашей помшью потихньку двигаюсь вперед.
    я нетак новерно объяснил вам

    короче из базы фильтрую данные и эти данные закину в папку фолдер
    ит тепреь мне надо импортировать те данные которые в фолдере в ексел
     
  8. DNT

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

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

    так всё ж есть у тебя для этого...
    на этой странице достаточно информации для того чтоб сделать экспорт в Эксель.
    если вообще ничего не понял и хочешь код целиком, то сори.

    Прочитай книги, походи по форумам и т.д.

    Задавай конкр. вопрос - получишь конкр. ответ. :D
     
  9. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    вот смотри,
    в строке Set dc = session.CurrentDatabase.Search(find, Nothing, 0) ты получил документы, то есть фолдер тебе для экспорта в принице уже не нужен, если только ты хочешь эти документы оставить для чего-то еще

    далее
    if dc.count = 0 then exit sub (или function) ' на случай если коллекция пуста

    теперь инициализируешь эксель как у тебя написано.. затем создаешь цикл по перебору документов

    dim row as integer, column as integer
    row = 1
    column = 1

    ' Заполняем заголовки столбцов
    xlsheet.Cells(row,column).Value = "Код"
    xlsheet.Cells(row,column+1).Value = "Номер документа"
    xlsheet.Cells(row,column+2).Value = "Контрагент"
    xlsheet.Cells(row,column+3).Value = "Краткое содержание"
    xlsheet.Cells(row,column+4).Value = "Сумма"

    dim doc as notesdocument
    set doc = dc.getfirstdocument

    while not(doc is nothing)
    .. здесь добавляешь код, который вставляет значения полей документа в ячейки
    пример приводили выше
    row = row + 1
    xlsheet.Cells(row,column).Value = Doc.rgCode(0)
    xlsheet.Cells(row,column+1).Value = Doc.rgDocNumber(0) + " от " + Cstr(Doc.rgDocDate(0))
    xlsheet.Cells(row,column+2).Value = Doc.rgNameAgent(0)
    xlsheet.Cells(row,column+3).Value = Doc.rgContents(0)
    xlsheet.Cells(row,column+4).Value = Doc.rgDocSumm(0)
    set doc = dc.getnextdocument(doc)
    wend
     
Загрузка...
Похожие Темы - Работа папкой
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    20
  2. Hoasker
    Ответов:
    0
    Просмотров:
    64
  3. garri671
    Ответов:
    0
    Просмотров:
    54
  4. lelik200969
    Ответов:
    0
    Просмотров:
    50
  5. Kozolick
    Ответов:
    0
    Просмотров:
    137

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