1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

    Скрыть объявление

Импорт Excel To Lotus

Тема в разделе "OLE технологии", создана пользователем allex, 19 фев 2007.

Наш партнер Genesis Hackspace
  1. allex

    allex Гость

    Действие в представлении для импорта файла Excel в Lotus
    Кнопка вышается на представление "body_f2", после нажатия возможен выбор файла, но берется по умолчанию, потом вводится колличество строк и далее начинается сам импорт.
    На каждую новую строчку в Excel создаётся новый документ, после окончания импорта в представлении отображаются документы,в которых ячейки Excel соответствуют полям формы документа.
    Далее из этого представления по действию ("Импорт значений документов в таблицу RT поля") значения из документов импортируются в сгенерированную скриптом табличу, где количество вкладок вычисляется динамически, в зависимости от колличества документов в представлении

    Таблица имеет вид
    _________________________________________________________________________
    |________________________ШАПКА__________________________________________|
    |_название__|______код________|_цыфры__|_цыфры_|_цыфры_|_цыфры_|_%_____|
    |___"a" _____|____"a_1"_________|__"a_2"__|_"a_3"___|_"a_4"__|__"a_5"__|_"a_6"__|

    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">код</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='ls'>Sub Initialize
    Dim xlFilename As String
    xlFilename = Inputbox$("Файл импорта по умолчанию.", "Файл для импорта Диск:\f2.XLS", "c:\f2.xls")
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument
    Set db = session.CurrentDatabase
    Dim row As Integer
    Dim written As Integer
    Dim number As Integer
    number = Inputbox$("Введите колличество строк", "Введите количество строк, содержащихся в импортируемом файле")
    Dim Excel As Variant
    Dim xlWorkbook As Variant
    Dim xlSheet As Variant
    Dim xlCells As Variant
    Set Excel = CreateObject("excel.application")
    Excel.Visible = False
    Print "Открыт файл " & xlFilename & "..."
    Excel.Workbooks.Open xlFilename '// открытие файла Excel
    Set xlWorkbook = Excel.ActiveWorkbook
    Set xlSheet = xlWorkbook.ActiveSheet
    Set xlCells = xlSheet.Cells
    row = 1
    written = 0
    Print "Starting import from Excel file..."
    Dim strName As String
    Add:
    row = row + 1
    written=written+1
    Print ("Импорт строки: "& Cstr(row) & " из: " &Cstr(number))
    Set view = db.GetView("body_f2")'представление где после импорта отображаются созданные документы
    strName = xlCells( row, 1). Value
    Set doc = view.GetDocumentByKey(strName ,True)
    If doc Is Nothing Then
    Set doc = db.CreateDocument
    With doc
    .Form = "body_f2"
    .a = xlCells(row, 1).Value
    .a_1 = xlCells( row, 2 ).Value
    .a_2 = xlCells(row, 3).Value
    .a_3 = xlCells( row, 4).Value
    .a_4 = xlCells( row, 5).Value
    .a_5 = xlCells( row, 6).Value
    .a_6 = xlCells( row, 7).Value
    End With
    Else
    End If
    Call doc.Save( True, True )
    Set doc = Nothing
    If written < number Then Goto Add
    excel.quit
    Dim ws As New NotesUIWorkspace
    Call ws.ViewRefresh

    End Sub[/CODE]
     
  2. beloff

    beloff Well-Known Member

    Регистрация:
    24 июл 2012
    Сообщения:
    113
    Симпатии:
    1
    а я например не спрашиваю у юзера сколько строк, после адд сразу ставлю на проверку, если в ряду 1 и 2 (например) элемент пустые значит все, закончились данные в хехеле, гото quit (может кому поможет)
     
Загрузка...
Похожие Темы - Импорт Excel Lotus
  1. Lia
    Ответов:
    15
    Просмотров:
    1.193
  2. toli4sky
    Ответов:
    27
    Просмотров:
    3.274
  3. GeorgiyRodionov
    Ответов:
    2
    Просмотров:
    2.936
  4. Oksana
    Ответов:
    3
    Просмотров:
    7.675
  5. abdurtim
    Ответов:
    0
    Просмотров:
    67

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