2013-05-16 2 views
0

Я экспериментирую с частным просмотром Lotus в первый раз, и я, наконец, сделал частную точку зрения.Как экспортировать данные из частного вида Lotus в файл excel?

Теперь мне нужно экспортировать это представление в файл excel ... возможно ли запустить один лотоссрипт для этого?

Я не администратор, поэтому у меня нет привилегий для запуска агента.

как?

tks!

ответ

0

Вы можете экспортировать в CSV-файл, который Excel может читать, и вам не нужно программировать. Просто откройте свое представление, вытащите меню «Файл» и выберите «Экспорт». Введите имя файла в диалоговом окне «Экспорт» и выберите «Значение, разделенное запятыми» в раскрывающемся списке «Сохранить как». Должен появиться небольшой диалог экспорта CSV, и вы сможете выбрать несколько вариантов, которые довольно просты.

+0

Tks но ... как я могу сделать это авто? что-то вроде «queryopen» запускает код экспорта для excel ... – Hugo

+0

Вы можете автоматизировать его на языке формул с помощью @Command ([FileExport]; fileType; fileName). Тем не менее, я считаю, что появится диалоговое окно окончательных вариантов, и вам нужно будет нажать «ОК», чтобы завершить экспорт, поэтому он будет частично автоматизирован. –

+0

BTW: Я думаю, что QueryOpen, вероятно, не подходит для автоматизации экспорта, поскольку QueryOpen фактически возникает непосредственно перед открытием представления, поэтому представление еще не загружено, поэтому я сомневаюсь, что вы еще можете его экспортировать. –

1

Да, можно было бы экспортировать агент LotusScript. Но если представление содержит все необходимые данные и не так много документов, просто щелкните правой кнопкой мыши по одному документу после выбора всех из них с помощью Ctrl + A и нажмите «Скопировать в таблицу» Затем вставьте результат в Excel. ..

чтобы написать lotusScript- агент для экспорта данных, вам нужны права на это, и, как правило, администраторы не дают права на «нормальных» пользователей ...

Если у вас есть право и знания, чтобы сделать что-то подобное, тогда это будет выглядеть в агенте, который экспортирует полное содержимое представления (не тестировалось):

Dim ws as New NotesUIWorkspace 
Dim viw as NotesView 
Dim viwNav as NotesViewNavigator 
Dim ve as NotesViewEntry 
Set viw = ws.CurrentView.View 
Set viwNav = viw.CreateViewNavigator 

Dim xlApp As Variant 
Dim xlsheet As Variant 

Set xlApp = CreateObject("Excel.Application") 
xlApp.Visible = True 
xlApp.Workbooks.Add 
Set xlsheet = xlApp.Workbooks(1).Worksheets(1) 
Set ve=viwNav.GetFirstEntry() 
Col = 1 
Row = 1 
While not ve is Nothing 
    Forall colval in ve.ColumnValues 
    xlsheet.Cells(row,col).Value = colval 
    Col = col + 1 
    End Forall 
    Set ve = viwNav.GetNextEntry(ve) 
    Row = Row + 1 
Wend 

Это не учитывает, что ColumnValues ​​могут быть массивами (в зависимости от настроек вида), не имеет обработки ошибок и не проверяет достоверность ... Но он может служить базой для начала ...

+0

Я помещаю этот код в дизайн зрителя »QueryOpen, но код имеет ошибки ...:/ – Hugo

+0

Да, это было то, что я сказал: он непроверен и может содержать ошибки. И вы не сказали, что хотите сделать это автоматически ... Этот код МОЖЕТ работать в QueryOpen, но, как написано: это просто база для начала ... –

+0

Этот вопрос был перенаправлен на домашнюю страницу StackOverflow для обзора, которые вернули мне мое внимание. Для автоматизации у меня такое чувство, что QueryOpen не подходит, потому что скрипт QueryOpen запускается до открытия представления. У меня есть ощущение, что вы не можете создать ViewNavigator перед открытием представления. Вместо этого я помещал бы это в кнопку действия в частном виде. –

0

Лучший способ сделать это в пользовательском интерфейсе - выбрать все документы (CTRL + A), а в меню «Правка» использовать «Копировать как/Таблица». Затем вставьте в Excel.

Вы можете удалить первый столбец (doclinks).

Этот подход не воспроизводится с помощью @Formula или Lotusscript.

Смежные вопросы