我有一个excel“Closed.Xls”,目前没有打开。VBA添加新的工作表在一个封闭的Excel中没有打开并获取表名添加?
请让我知道如何添加新的表单到这个封闭的excel文件。我知道如何在当前的Excel中添加新工作表。
Dim WS as Worksheet
Set WS = Sheets.Add
请让我知道如何
- 使用VBA在一个封闭的Excel中添加新的床单,和
- 拿到表的名称添加
注:我不想重命名该工作表。
感谢
我有一个excel“Closed.Xls”,目前没有打开。VBA添加新的工作表在一个封闭的Excel中没有打开并获取表名添加?
请让我知道如何添加新的表单到这个封闭的excel文件。我知道如何在当前的Excel中添加新工作表。
Dim WS as Worksheet
Set WS = Sheets.Add
请让我知道如何
注:我不想重命名该工作表。
感谢
为了得到工作表名称使用worksheet
变量,即
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
事情是这样的意愿会做你想要什么。没有打开工作簿是不可能的,但如果关闭屏幕更新,它会显示未打开。
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。如有必要,您可能会找到删除/更改的方法。
为什么你不只是打开它(通过VBA),创建新表并关闭它?据我所知,如果不打开它,你不能修改工作簿。 – ApplePie 2012-07-13 11:10:04
@亚历山大:表不应该来信。 – logan 2012-07-13 11:16:45
@logan然后关闭屏幕更新,打开文件,添加一张纸,关闭它,并再次打开屏幕更新 – 2012-07-13 11:17:35