• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

makaset

Well-known member
14.03.2007
126
0
BIT
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

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

DNT

Для: makaset

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

makaset

Well-known member
14.03.2007
126
0
BIT
0
експоритроват. если честно незнаю как цикл организовать
For i = 1 To dc.Count

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

DNT

експоритроват. если честно незнаю как цикл организовать
For i = 1 To dc.Count

поле1 екселя= данны из документа
поле2 екселя= данны из документа
поле3 екселя= данны из документа
next

...
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 . Экспорт в Эксель довольно распостраненная тема.
 

makaset

Well-known member
14.03.2007
126
0
BIT
0
я немогу до данных фолдера добратся

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

DNT

Для: makaset

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

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

пример:
 

makaset

Well-known member
14.03.2007
126
0
BIT
0
я извиняюсь че то непойму. где откуда как появляется данные толко только разбираюсь. лотусом я начал работат неделя назад. с вашей помшью потихньку двигаюсь вперед.
я нетак новерно объяснил вам

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

DNT

Для: makaset

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

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

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

Kee_Keekkenen

вот смотри,
в строке 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
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!