Mas excel
Publicado por B68Toftir (18 intervenciones) el 25/06/2003 11:59:39
Toy intentado hacer una aplicacion en VB controlando un archivo de excel para una tienda. El problema ke tengo es que escribo en una celda el dato y despues cierro el archivo de excel, luego intento abrir otra vez para continuar escribiendo datos debajo del ke he hecho, pero para mi sorpresa, la celda que habia escrito previamente ha desaparecido el valor, pero en la nueva celda donde he metido el dato si que esta el ultimo que he metido.
Este es el codigo:
Option Explicit
Dim ap As New Excel.Application
Dim indice As Long
Function AbrirExcel()
ap.Workbooks.Open \"C:\\Documents and Settings\\Administrador\\Mis documentos\\resultados.xls\"
ap.DisplayAlerts = False
ap.Worksheets(1).Select
End Function
Function CerrarExcel()
Data2.Recordset.Edit
Data2.Recordset!index = indice
Data2.Recordset.Update
ap.Workbooks(1).SaveAs \"C:\\Documents and Settings\\Administrador\\Mis documentos\\resultados2.xls\"
ap.Workbooks.Close
ap.Quit
Set ap = Nothing
End Function
Private Sub Combo1_Click()
Data1.RecordSource = \"Select * from codigos where codigo=\'\" & Combo1.Text & \"\' order by codigo asc\"
Data1.Refresh
End Sub
Private Sub Command1_Click()
End
End Sub
Private Sub Command2_Click()
AbrirExcel
indice = Data2.Recordset!index
ap.Cells(indice, 1) = CInt(Me.Text1(2).Text)
indice = indice + 1
CerrarExcel
End Sub
Private Sub Form_Load()
Dim ordena, n As Lon
Este es el codigo:
Option Explicit
Dim ap As New Excel.Application
Dim indice As Long
Function AbrirExcel()
ap.Workbooks.Open \"C:\\Documents and Settings\\Administrador\\Mis documentos\\resultados.xls\"
ap.DisplayAlerts = False
ap.Worksheets(1).Select
End Function
Function CerrarExcel()
Data2.Recordset.Edit
Data2.Recordset!index = indice
Data2.Recordset.Update
ap.Workbooks(1).SaveAs \"C:\\Documents and Settings\\Administrador\\Mis documentos\\resultados2.xls\"
ap.Workbooks.Close
ap.Quit
Set ap = Nothing
End Function
Private Sub Combo1_Click()
Data1.RecordSource = \"Select * from codigos where codigo=\'\" & Combo1.Text & \"\' order by codigo asc\"
Data1.Refresh
End Sub
Private Sub Command1_Click()
End
End Sub
Private Sub Command2_Click()
AbrirExcel
indice = Data2.Recordset!index
ap.Cells(indice, 1) = CInt(Me.Text1(2).Text)
indice = indice + 1
CerrarExcel
End Sub
Private Sub Form_Load()
Dim ordena, n As Lon
Valora esta pregunta


0