datagrid a excel
Publicado por Mraco (24 intervenciones) el 19/01/2005 13:51:53
con esté codigo bajo mi data grid a excel mediante un botón, lo que pasa que cuando lo bajo por 1era vez todo bien pero si lo quiero bajar por segunda se queda pegado el excel, muchas gracias por las sugerencias.
Private Sub cmdtoexcell_Click()
Dim wkbNew As Excel.Workbook
Dim wkbSheet As Excel.Worksheet
Dim Rng As Excel.Range
If Dir("C:\movimiento.xls") <> "" Then 'Si Existe el Archivo
Kill "C:\movimiento.xls" 'Lo Eliminamos
End If
Set wkbNew = Workbooks.Add
wkbNew.SaveAs "C:\movimiento.xls"
Set wkbSheet = wkbNew.Worksheets(1)
Set Rng = wkbSheet.Range("A1:" + Chr(DataGrid1.Columns.Count + 64) + CStr(Adodc1.Recordset.RecordCount))
DataGrid1.Row = 0 'se coloca el cursor en la primera fila
DataGrid1.Refresh
For I = 0 To Adodc1.Recordset.RecordCount - 1
For j = 0 To DataGrid1.Columns.Count - 1
DataGrid1.Col = j
'DataGrid1.Row = I 'aqui se cae
Rng.Range(Chr(j + 1 + 64) + CStr(I + 1)) = DataGrid1.Text
Next j
Adodc1.Recordset.MoveNext
Next I
'Close and save the file
wkbNew.Close True
'Si queremos Abrir el Archivo
Dim MyValue
MyValue = Shell("rundll32.exe url.dll,FileProtocolHandler " & "C:\movimiento.xls", vbMaximizedFocus)
End Sub
Private Sub cmdtoexcell_Click()
Dim wkbNew As Excel.Workbook
Dim wkbSheet As Excel.Worksheet
Dim Rng As Excel.Range
If Dir("C:\movimiento.xls") <> "" Then 'Si Existe el Archivo
Kill "C:\movimiento.xls" 'Lo Eliminamos
End If
Set wkbNew = Workbooks.Add
wkbNew.SaveAs "C:\movimiento.xls"
Set wkbSheet = wkbNew.Worksheets(1)
Set Rng = wkbSheet.Range("A1:" + Chr(DataGrid1.Columns.Count + 64) + CStr(Adodc1.Recordset.RecordCount))
DataGrid1.Row = 0 'se coloca el cursor en la primera fila
DataGrid1.Refresh
For I = 0 To Adodc1.Recordset.RecordCount - 1
For j = 0 To DataGrid1.Columns.Count - 1
DataGrid1.Col = j
'DataGrid1.Row = I 'aqui se cae
Rng.Range(Chr(j + 1 + 64) + CStr(I + 1)) = DataGrid1.Text
Next j
Adodc1.Recordset.MoveNext
Next I
'Close and save the file
wkbNew.Close True
'Si queremos Abrir el Archivo
Dim MyValue
MyValue = Shell("rundll32.exe url.dll,FileProtocolHandler " & "C:\movimiento.xls", vbMaximizedFocus)
End Sub
Valora esta pregunta


0