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

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

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

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

Код импорта из Экселя

  • Автор темы romanko
  • Дата начала
R

romanko

Подскажите в чем проблема?Есть код для импорта из экселя в лотус, о при добавлении его в кнопку он пишет ошибка :"Указанная команда не доступна с рабочей области" Как с этим бороться?????
Sub Click(Source As Button)

Dim xlFilename As String

xlFilename = Inputbox$("1231.xls", "D:\Lotus\Справочник\1231.xls", "D:\Lotus\Справочник\1231.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 = "станции наме шорт"

.Namestan = xlCells( 2, 1).Value
.ShortName = xlCells( 2, 2).Value

End With
Call doc.Save( True, True )

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


End Sub
 
S

susinmn

Я ничего непонял в той ссылке!Вы мне на мой вопрос помогите найти ответ!

Set Excel = CreateObject("excel.application")
Call Excel.Workbooks.Open(xlFilename)
Set xlSheet = xlWorkbook.ActiveSheet
Excel.Visible = False


Set doc = db.CreateDocument

With doc
.Form = "станции наме шорт"
.Namestan = xlSheet.Range("B1").Value
.ShortName = xlSheet.Range("B2").Value
End With
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
мне на мой вопрос помогите найти ответ!
нет вопроса - нет и ответа (ребусы разгадывать неохота - научитесь вопросы задавать)

а в той ссылке - база с рабочим примером, about (Help->About This Database) всё описано
запускается форма - получаем выгрузку
выгружаеи все поля любого! дока (из текущего view)
также - загружает из хехеля, по указанной форме, ориентируется на первую строку в хехель файле (берёт оттудова названия полей)
т.е. ваще ничё писать ненадо
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Если таблица в Excel таблица плоская - я пользуюсь таким методом


Ну либо можно подобным... без назначение поставщика данных в Exel// тогда можно работать с любым файлом без подготовки

А по твоей ошибке - на какую строку ругается?
Обычно это бывает когда работаешь с УИ-документом в режиме "на чтение" из бекэнда
 
H

hosm

посмотрите внимательней на эти команды
Call ws.ViewRefresh
Call ws.EditDocument( doc )
первая рефрешит вьюхи и предъявляет некоторые требования, почитайте.
может, у вас вьюхи нет.
может, открытие документа на редактирование глючит.
 
R

romanko

нет вопроса - нет и ответа (ребусы разгадывать неохота - научитесь вопросы задавать)

а в той ссылке - база с рабочим примером, about (Help->About This Database) всё описано
запускается форма - получаем выгрузку
выгружаеи все поля любого! дока (из текущего view)
также - загружает из хехеля, по указанной форме, ориентируется на первую строку в хехель файле (берёт оттудова названия полей)
т.е. ваще ничё писать ненадо
Скачал OpenXLS но он не работает когда устанавливаю jar ошибка доступа к файлу.Что делать??
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
когда устанавливаю jar ошибка доступа к файлу.Что делать??
возможно либа уже установлена... (и устанавливать ещё раз не надо)
ошибки пишутся в строку статуса
если нет:
-перезапустить Нотус установить jar
-повторно перезапустить...

первая рефрешит вьюхи и предъявляет некоторые требования, почитайте.
может, у вас вьюхи нет.
на самом деле - необязательно view рефрешит :)
 
A

Arioch

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

Если подобную писанину увеличить в объеме хотя бы втрое, становится весьма неприятно ее поддерживать.
 
Мы в соцсетях:

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