如何用VB复制EXCEL中的sheet。

来源:百度知道 编辑:UC知道 时间:2024/06/17 21:58:21
比如文件d:\dd.xls中有3个sheet。分别为:
A1,
A2,
A3.
我想复制第二个sheet即A2,并且重新为A2建立一个新的EXCEL文件,文件名为A2.xls,存盘在文件E:\NEW中。
要求:
生成的文件中只能有一个sheet,不能有其他的sheet。新的EXCEL文件中的sheet要为原来sheet的名称,即生成的A2.xls文件中sheet的名称为A2。
而且这些操作只能在后台自动进行进行,即不显示应用程序 。不需用户干预。
如果解决我在追加100分谢谢。

Dim ExlApp As Excel.Application
Dim ExlBook As Excel.Workbook
Dim ExlBook2 As Excel.Workbook
Dim ExlSheet As Excel.Worksheet
Private Sub Command1_Click()
On Error Resume Next
Dim i As Integer
Set ExlApp = CreateObject("Excel.Application")
If Err.Number <> 0 Then
Set ExlApp = GetObject("Excel.Application")
End If
On Error GoTo 0
Set ExlBook = ExlApp.Workbooks.Open("d:\dd.xls")
Set ExlSheet = ExlBook.Worksheets(2)

'ExlApp.Visible = True
ExlApp.DisplayAlerts = False
Set ExlBook2 = ExlApp.Workbooks.Add
ExlBook2.SaveAs "d:\" & ExlSheet.Name
ExlSheet.Copy Before:=ExlBook2.Sheets(1)
For i = ExlBook2.Sheets.Count To 2 Step -1
ExlBook2.Sheets(i).Delete
Next i
ExlBook2.Save
ExlApp.Quit
Set ExlSheet = Nothing
Set ExlBook2 = Nothing
Set ExlBook = Nothing
Set ExlApp = Nothin