保存打开的其他工作簿

时间:2014-04-28 15:19:40

标签: excel vba save

我打开了一个工作簿(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

3 个答案:

答案 0 :(得分:2)

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

Workbooks("WorkbookA.xlsx").Save

答案 1 :(得分:1)

您可以使用Workbook.Save方法保存工作簿。它会像

一样
wb.Save

ActiveWorkbook.Save

如果您知道当前的工作簿是活动的工作簿。 Save不允许您更改文件名 - 如果您需要,请改用SaveAs

答案 2 :(得分:0)

尝试类似的内容:

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

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