VBA:自动保存&;关闭除宏工作簿外的所有当前工作簿
我正在尝试关闭除宏工作簿和.SaveAs my path之外的所有当前打开的工作簿,但我希望路径是宏工作簿[D1]中的指定单元格。我还希望将文件名保存为当前保存并关闭的工作簿中的单元格A1。现在我被卡住了。我列出了当前正在使用的代码,这段代码遇到的问题是,它在当前选定工作簿的单元格A1中保存为名称,而不是代码当前循环使用的工作簿。我希望这是有道理的VBA:自动保存&;关闭除宏工作簿外的所有当前工作簿,vba,excel,Vba,Excel,我正在尝试关闭除宏工作簿和.SaveAs my path之外的所有当前打开的工作簿,但我希望路径是宏工作簿[D1]中的指定单元格。我还希望将文件名保存为当前保存并关闭的工作簿中的单元格A1。现在我被卡住了。我列出了当前正在使用的代码,这段代码遇到的问题是,它在当前选定工作簿的单元格A1中保存为名称,而不是代码当前循环使用的工作簿。我希望这是有道理的 Option Explicit Public ThisFile As String
Option Explicit
Public ThisFile As String
Public Path As String
Sub CloseAndSaveOpenWorkbooks()
Dim Wkb As Workbook
' ThisFile = ActiveWorkbook.Sheets(1).Range("A1").Value ** Commented out as this piece of code was not working as intended **
Path = "C:\Users\uuis\Desktop"
With Application
.ScreenUpdating = False
' Loop through the workbooks collection
For Each Wkb In Workbooks
With Wkb
If .Name <> ThisWorkbook.Name Then
' if the book is read-only
' don't save but close
If Not Wkb.ReadOnly Then
.SaveAs Filename:=(Path & "\" & ActiveWorkbook.Sheets(1).Range("A1").Value & ".xls"), FileFormat:=xlExcel8
End If
' We save this workbook, but we don't close it
' because we will quit Excel at the end,
' Closing here leaves the app running, but no books
.Close
End If
End With
Next Wkb
.ScreenUpdating = True
' .Quit 'Quit Excel
End With
End Sub
选项显式
将此文件作为字符串公开
作为字符串的公共路径
子关闭并保存打开的工作簿()
将Wkb设置为工作簿
'ThisFile=ActiveWorkbook.Sheets(1).Range(“A1”).Value**被注释掉,因为这段代码没有按预期工作**
Path=“C:\Users\uuis\Desktop”
应用
.ScreenUpdate=False
'循环浏览工作簿集合
对于工作簿中的每个Wkb
与西九龙文娱艺术区
如果。命名此工作簿。然后命名
“如果这本书是只读的
“不要保存,而是关闭
如果不是Wkb.ReadOnly,则
.SaveAs文件名:=(路径和“\”&ActiveWorkbook.Sheets(1).Range(“A1”).Value和“.xls”),文件格式:=xlExcel8
如果结束
'我们保存此工作簿,但不关闭它
“因为我们最终会退出Excel,
“关闭此处会使应用程序运行,但不会出现书籍
关
如果结束
以
下一个西九龙巴士站
.ScreenUpdate=True
“.Quit”退出Excel
以
端接头
应该是
Wkb.Sheets(1).Range("A1").Value
Wkb.Sheets(1).Range("A1").Value