Buscar y marcar documentos desde un fichero
Publicado por Rut (3 intervenciones) el 14/10/2008 12:48:16
Buenas,
Necesito buscar los nombres que vienen en un fichero(puede ser excel o txt) para poder hacerles una marca y poder eliminarlos de la vista.
Tengo un script pero no me esta funcionando:(muchas gracias de antemano)
Sub Initialize
'Realiza la importación de un archivo de excel a una base de Lotus, tomanos el valor de la primer columna del archivo de excel y la buscamos en la vista, en caso de que el valor se encuentre actualiza el valor de un campo determinado.
Dim xlFilename As String
xlFilename = "C:Fichero.xls"
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set doc = New NotesDocument(db)
Dim One As String
Dim row As Integer
Dim written As Integer
filas=Inputbox("Deseas importar el archivo","No. de filas del archivo",filas)
If filas="" Then
Exit Sub
End If
Dim Excel As Variant
Dim xlWorkbook As Variant
Dim xlSheet As Variant
Print "Connectando a Excel..."
Set Excel = CreateObject( "Excel.Application" )
Excel.Visible = False
Print "Abriendo " & xlFilename & "..."
Excel.Workbooks.Open xlFilename
Set xlWorkbook = Excel.ActiveWorkbook
Set xlSheet = xlWorkbook.ActiveSheet
Goto Records
Print "Desconectando de Excel..."
xlWorkbook.Close False
Excel.Quit
Set Excel = Nothing
Print " "
Records:
row = 0
written = 0
contador=1
Print "Comenzando la importación del fichero de Excel..."
Do While True
Finish:
With xlSheet
filas=filas+writen
row = row + 1
clave=.Cells( row,1 ).Value ' guarda en clave el valor de la primer columna de excel
Set view = db.GetView("vDates") ' Nombre de la vista
Set doc = view.GetDocumentByKey(clave,True) 'busca el contenido de c lave
If Not(doc Is Nothing) Then ' si lo encuentra actualiza los campos
doc.basura = .Cells( row,2 ).Value
Call doc.Save( True, True ) ' Guardamos el documento
End If
written = written + 1
contador=contador+1
If written = filas Then
Goto Done
End If
End With
Loop
Return
Done:
Msgbox "Documentos creados:" & written
End Sub
Necesito buscar los nombres que vienen en un fichero(puede ser excel o txt) para poder hacerles una marca y poder eliminarlos de la vista.
Tengo un script pero no me esta funcionando:(muchas gracias de antemano)
Sub Initialize
'Realiza la importación de un archivo de excel a una base de Lotus, tomanos el valor de la primer columna del archivo de excel y la buscamos en la vista, en caso de que el valor se encuentre actualiza el valor de un campo determinado.
Dim xlFilename As String
xlFilename = "C:Fichero.xls"
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set doc = New NotesDocument(db)
Dim One As String
Dim row As Integer
Dim written As Integer
filas=Inputbox("Deseas importar el archivo","No. de filas del archivo",filas)
If filas="" Then
Exit Sub
End If
Dim Excel As Variant
Dim xlWorkbook As Variant
Dim xlSheet As Variant
Print "Connectando a Excel..."
Set Excel = CreateObject( "Excel.Application" )
Excel.Visible = False
Print "Abriendo " & xlFilename & "..."
Excel.Workbooks.Open xlFilename
Set xlWorkbook = Excel.ActiveWorkbook
Set xlSheet = xlWorkbook.ActiveSheet
Goto Records
Print "Desconectando de Excel..."
xlWorkbook.Close False
Excel.Quit
Set Excel = Nothing
Print " "
Records:
row = 0
written = 0
contador=1
Print "Comenzando la importación del fichero de Excel..."
Do While True
Finish:
With xlSheet
filas=filas+writen
row = row + 1
clave=.Cells( row,1 ).Value ' guarda en clave el valor de la primer columna de excel
Set view = db.GetView("vDates") ' Nombre de la vista
Set doc = view.GetDocumentByKey(clave,True) 'busca el contenido de c lave
If Not(doc Is Nothing) Then ' si lo encuentra actualiza los campos
doc.basura = .Cells( row,2 ).Value
Call doc.Save( True, True ) ' Guardamos el documento
End If
written = written + 1
contador=contador+1
If written = filas Then
Goto Done
End If
End With
Loop
Return
Done:
Msgbox "Documentos creados:" & written
End Sub
Valora esta pregunta
0