• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы Iwer
  • Дата начала
I

Iwer

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

Iwer

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

Iwer

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

Код:
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 запускается, после чего выдает сообщение о том, что идет импорт, потом закрывается, но новой записи в базе нет, как нет...
 
M

morpheus

Для: Iwer
1. Папробуйте Дэбагером пройтись
2. Папробуйте

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

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

Iwer

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

morpheus

Для: Iwer
File-Tools-Debug LotusScript

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

Iwer

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

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