Private Sub Command1_Click() Dim i As Long, j As Long Dim xlsApp As Excel.Application Dim xlsBook As Excel.Workbook Dim xlssheet As Excel.Worksheet Set xlsApp = New Excel.Application Set xlsApp = CreateObject("Excel.Application") xlsApp.Visible = True xlsApp.Workbooks.Add 'Set xlsBook = xlsApp.Workbooks.Open(App.Path & "\filename.xls") xlsApp.Sheets("sheet1").Select DataGrid1.Row = 0 i = 1 Do While DataGrid1.Row >= 0 If i = DataGrid1.Row Then Exit Do i = DataGrid1.Row For j = 0 To DataGrid1.Columns.Count - 1 With xlsApp .Cells(DataGrid1.Row + 1, j + 1) = DataGrid1.Columns(j).Text End With Next DataGrid1.Row = DataGrid1.Row + 1 Loop If xlsApp.ActiveWorkbook.Saved = False Then xlsApp.ActiveWorkbook.SaveAs App.Path & "\mmm.xls" End If xlsApp.Quit Set xlsApp = Nothing end sub
一楼的这样写 Dim i As Long, j As Long Dim xlsApp As Excel.Application Dim xlsBook As Excel.Workbook Set xlsApp = New Excel.Application Set xlsApp = CreateObject("Excel.Application") xlsApp.Visible = True xlsApp.Workbooks.Add 'Set xlsBook = xlsApp.Workbooks.Open(App.Path & "\filename.xls") xlsApp.Sheets("sheet1").Select
xlsApp.ActiveSheet.Range("A1").CopyFromRecordset Adodc1.Recordset If xlsApp.ActiveWorkbook.Saved = False Then xlsApp.ActiveWorkbook.SaveAs App.Path & "\mmm0.xls" End If xlsApp.Quit Set xlsApp = Nothing
Dim i As Long, j As Long
Dim xlsApp As Excel.Application
Dim xlsBook As Excel.Workbook
Dim xlssheet As Excel.Worksheet
Set xlsApp = New Excel.Application
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
xlsApp.Workbooks.Add
'Set xlsBook = xlsApp.Workbooks.Open(App.Path & "\filename.xls")
xlsApp.Sheets("sheet1").Select
DataGrid1.Row = 0
i = 1
Do While DataGrid1.Row >= 0
If i = DataGrid1.Row Then Exit Do
i = DataGrid1.Row For j = 0 To DataGrid1.Columns.Count - 1
With xlsApp
.Cells(DataGrid1.Row + 1, j + 1) = DataGrid1.Columns(j).Text
End With
Next
DataGrid1.Row = DataGrid1.Row + 1
Loop If xlsApp.ActiveWorkbook.Saved = False Then
xlsApp.ActiveWorkbook.SaveAs App.Path & "\mmm.xls"
End If
xlsApp.Quit
Set xlsApp = Nothing
end sub
Adodc1.Recordset.RecordCount 作循环条件,似乎更符合lz的要求
DataGrid1.Row = DataGrid1.Row + 1总共2行,DataGrid1.Row 当前等于1小弟愚笨,不知道怎样解决,请指教一楼高手给的代码看起来预期效果应该是很好,但是小弟初学,不知道应该怎样用。所以只能给个感谢分,请谅解。
Dim i As Long, j As Long
Dim xlsApp As Excel.Application
Dim xlsBook As Excel.Workbook
Set xlsApp = New Excel.Application
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
xlsApp.Workbooks.Add
'Set xlsBook = xlsApp.Workbooks.Open(App.Path & "\filename.xls")
xlsApp.Sheets("sheet1").Select
xlsApp.ActiveSheet.Range("A1").CopyFromRecordset Adodc1.Recordset If xlsApp.ActiveWorkbook.Saved = False Then
xlsApp.ActiveWorkbook.SaveAs App.Path & "\mmm0.xls"
End If
xlsApp.Quit
Set xlsApp = Nothing