Импортные операции. Из Excel в Lotus

Тема в разделе "Lotus - FAQ", создана пользователем Iwer, 28 сен 2007.

  1. Iwer

    Iwer Гость

    Как это сделать?
    Имеем:
    1. Готовую базу в Lotus
    2. Шаблон документа в Excel.
    Надо из отдельных ячеек Excel сделать перенос в определенные поля в Lotus. С помощью некой кнопки на Lotus'овой форме (которую и надо сделать).
    Как сделать такую кнопку. Если можно код с комментариями, чтобы даже я понял :)
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
  3. Iwer

    Iwer Гость

    Спасибо! Я уже нашел, но только не там. :) Прошу прощения за флуд.
     
  4. Iwer

    Iwer Гость

    И все-таки... Что не так? Переделал я код под себя, как я понимаю LS (к сожалению - ужасно). Имеет место быть набор документов Excel, которые в будущем по одному будут заноситься в базу - как это ни смешно - это заявки на подключения Lotus'a:

    Код (Text):
    Sub Click(Source As Button)


    Dim xlFilename As String

    xlFilename = Inputbox$("Файл импорта по умолчанию.", "Файл для импорта Диск:\f2.XLS", "c:\1.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 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
    Print "Starting import from Excel file..."
    Dim strName As String
    Add:

    Set doc = db.CreateDocument
    With doc
    .Form = "Сотрудник1"

    .CompanyName = xlCells( 5, 2).Value
    .Department = xlCells( 6, 2).Value
    .Manager = xlCells( 7, 2).Value

    .LastName = xlCells(10, 2).Value
    .FirstName = xlCells( 11, 2 ).Value
    .MiddleInitial = xlCells(12, 2).Value
    .dsp_LotusName = xlCells(13, 2).Value



    .OfficePhoneNumber = xlCells( 23, 2 ).Value
    .OfficeFAXPhoneNumberl = xlCells(24, 2).Value
    .CellPhoneNumber = xlCells( 25, 4).Value
    .PhoneNumber = xlCells(26, 3).Value
    .PhoneNumber_6 = xlCells( 27, 4).Value

    .CompanyName = xlCells( 5, 2).Value
    .Department = xlCells( 6, 2).Value
    .JobTitle = xlCells(4, 6).Value

    .MailAddress = xlCells(29, 3).Value
    .WebSite = xlCells( 30, 4).Value

    End With
    Call doc.Save( True, True )
    Set doc = Nothing
    excel.quit
    Dim ws As New NotesUIWorkspace
    Call ws.ViewRefresh
    End Sub
    Excel запускается, после чего выдает сообщение о том, что идет импорт, потом закрывается, но новой записи в базе нет, как нет...
     
  5. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Iwer
    1. Папробуйте Дэбагером пройтись
    2. Папробуйте

    Код (Text):
    Call doc.Save( True, True )

    excel.quit
    Dim ws As New NotesUIWorkspace
    Call ws.ViewRefresh
    Call ws.EditDocument( doc )
    End Sub
     
  6. Iwer

    Iwer Гость

    Дэбагер - где его для Lotus искать?
    Если встроенный в 6-ку Дезигнер - молчит как партизан.
     
  7. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Iwer
    File-Tools-Debug LotusScript

    Ну что занчит молчит... проверте до какой строки дохзожит, чему равна DOC? имеет ли этот документ унид и т.д.
     
  8. Iwer

    Iwer Гость

    Спасибо!!!
    Базу делал не я - дебаггер показал, что вместо "Сотрудника" Lotus использует имя формы "Employee"!
    Как только исправил - все заработало...
    Это маленький шаг для человечества, но огромный скачок для меня!
     
Загрузка...

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