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

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

romanko

#1
Подскажите в чем проблема?Есть код для импорта из экселя в лотус, о при добавлении его в кнопку он пишет ошибка :"Указанная команда не доступна с рабочей области" Как с этим бороться?????
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
 

susinmn

Well-known member
16.10.2007
529
3
#4
Я ничего непонял в той ссылке!Вы мне на мой вопрос помогите найти ответ!
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

нет, пердело совершенство
Премиум
27.08.2008
6 567
263
#5
мне на мой вопрос помогите найти ответ!
нет вопроса - нет и ответа (ребусы разгадывать неохота - научитесь вопросы задавать)

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

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 802
21
#6
Если таблица в Excel таблица плоская - я пользуюсь таким методом
http://www.byman.it/index.php?program=inde...amp;document=78

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

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

hosm

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

romanko

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

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

lmike

нет, пердело совершенство
Премиум
27.08.2008
6 567
263
#11
когда устанавливаю jar ошибка доступа к файлу.Что делать??
возможно либа уже установлена... (и устанавливать ещё раз не надо)
ошибки пишутся в строку статуса
если нет:
-перезапустить Нотус установить jar
-повторно перезапустить...

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

Arioch

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

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