ОБСУЖДЕНИЕ

Импорт Екселя

13 ответов 6,2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
Вооьщем суть в чем, есть файл Ексель в нем 3 столбца 1 Имя 2 и 3 занчения, есть форма в которой поле 1 уже заполенно и по значению равно полю 1 в екселе, 2 и 3 поле не заполено в форме но данные к ексель как их импортом обновить?
 
Самое простое обращаться к Excel, как в таблице БД. Для этого нужно создать ODBC коннект к Excel'ю, а в Lotus'е использовать: ODBCConnection, ODBCQuery, ODBCResultSet.

Удачи
 
Ну или юзать Excel как COM объект.
 
Set xl= CreateObject("Excel.Application")
xl.visible = False
xl.Workbooks.Add path$
Set xlWorkbook = xl.Workbooks(1)
Set xlWorksheet = xlWorkbook.Worksheets(1)
With xlWorksheet
.cells(1,1) = "" (что можно делать с cells: ---->)
End With
xl.visible=True
xl=""
http://msdn.microsoft.com/en-us/library/bb267260.aspx
 
Код:
If Instr(doc.Agent_shet, .cells(j,1))>0 Then


На этой строчке выдает ошибку "Несоответсвие типов" (Type mismatch)

Как это решить?
 
Kron
Побольше кусок кода кинь)

If cint(Instr(doc.Agent_shet(0), cstr(.cells(j,1))))>0 Then
 
Код:
	Dim view As NotesView	
Dim ns As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim j As Integer
Dim i As Integer
Dim st As String
Set db=ns.CurrentDatabase
Set view=db.GetView("Komment")
view.AutoUpdate = False

Set xl= CreateObject("Excel.Application")
xl.visible = False
xl.Workbooks.Add "d:\счета.xls"
Set xlWorkbook = xl.Workbooks(1)
Set xlWorksheet = xlWorkbook.Worksheets(1)
Set doc=view.GetFirstDocument
While Not(doc Is Nothing)

With xlWorksheet

For j=2 To 91

If Instr(doc.Agent_shet(0), .cells(j,1))>0 Then
Call doc.ReplaceItemValue("Update_comment_for_pyu", .cells(j,2))
Call doc.ReplaceItemValue("UpdateContactKriteriu", .cells(j,3))			
End If
Next
End With
Call doc.Save(True, True)
Set doc=view.GetNextDocument(doc)
i=1+1	
Wend
xl.visible=True 
xl=""
 
Попробуй так:

If Instr ( CStr ( doc.Agent_shet(0) ), Cstr ( .cells(j,1) ) ) > 0 Then
 
Тогда так:

If Instr ( CStr ( doc.Agent_shet(0) ), Cstr ( xlWorksheet.cells(j,1).value ) ) > 0 Then

и with можно убрать...
 
Статус
Закрыто для дальнейших ответов.

Статистика тем

Создано
Kron,
Последний ответ от
allex,
Ответы
13
Просмотры
6 186