VBA添加新的工作表在一个封闭的Excel中,而无需打开和获取工作表名称添加?

我有一个当前没有打开的excel“Closed.Xls”。

请让我知道如何添加新的表单到这个封闭的Excel文件。 我知道如何在当前的Excel中添加新的工作表。

Dim WS as Worksheet Set WS = Sheets.Add 

请让我知道如何

  1. 在一个封闭的Excel中使用VBA添加新工作表
  2. 获取添加的工作表的名称

注意:我不想重命名工作表。

谢谢

为了得到worksheet表名称使用worksheetvariables,即

 Sub Added() Dim Wb As Workbook Dim ws As Worksheet With Application .ScreenUpdating = False .DisplayAlerts = False .EnableEvents = False End With Set Wb = Workbooks.Open("c:\Temp\closed.xls") Set ws = Wb.Sheets.Add Debug.Print ws.Name Wb.Save Wb.Close With Application .ScreenUpdating = True .DisplayAlerts = True .EnableEvents = True End With End Sub 

像这样的东西将会做你想要的。 不打开工作簿是不可能的,但如果closures屏幕更新,则会出现未打开的情况。

 Option Explicit Sub Add_Sheet_ClosedBook() Dim bk As Workbook Dim sh As Worksheet Dim shName As String With Application .ScreenUpdating = False .DisplayAlerts = False Set bk = .Workbooks.Open _ ("Path to Book.xls") End With With bk Set sh = .Sheets.Add shName = sh.Name .Save .Close End With With Application .ScreenUpdating = True .DisplayAlerts = True End With End Sub 

可以通过使用Microsoft.ACE.OLEDB.12.0提供程序而不打开工作簿来添加工作表:

 set cn = new adodb.connection with cn .provider = "Microsoft.ACE.OLEDB.12.0" .connectionstring = "Data Source=" & strSomeFilename & ";Extended Properties=""Excel12.0;""" .open end with set cmd = new adodb.command cmd.activeconnection = cn cmd.commandtext = "CREATE TABLE MySheet (ID char(255))" cmd.execute 

这将添加一个标题“ID”到新工作表的单元格A1。 你也许可以find一种方法来删除/更改它,如果有必要的话。