保存打开的其他工作簿

我有一个工作簿(WorkbookA.xlsm),我打开。 打开后,将打开WorkbookB.xlsm。

'ThisWorkbook code of WorkbookA.xlsm Private Sub Workbook_Open() Dim wb As Workbook Application.ScreenUpdating = False Set wb = Workbooks.Open(Filename:="C:\WorkbookB.xlsm") wb.Windows(1).Visible = False End Sub 

打开“B”之后,一个脚本被调用,它也启动一个定时器。

B中的脚本改变了A上的一些数据。我想在脚本被调用后自动保存WorkbookA.xlsm(没有任何提示)之后添加一些内容。

 'ThisWorkbook code of WorkbookB.xlsm Private Sub Workbook_Open() Call Script 'looking for something in here to save WorkbookA End Sub 

由于您知道要保存的工作簿的名称(“WorkbookA.xlsx”),因此可以使用保存方法直接引用它:

 Workbooks("WorkbookA.xlsx").Save 

您可以使用Workbook.Save方法保存您的工作簿。 这将是类似的东西

 wb.Save 

要么

 ActiveWorkbook.Save 

如果您知道您当前的工作簿是主动的。 Save不会让你改变文件名 – 如果你想要的话,使用SaveAs

尝试类似这样的事情:

 For each w in Application.Workbooks If w.Name = "WorkbookA" Then w.Save Exit For End if Next w 

您需要find所需的工作簿,或者先在代码中将其设置,因为您希望从工作簿B调用保存代码。 如果您要从workbookA调用它,则可以使用ActiveWorkbook.Save