【问题标题】:Saving a different workbook that is opened保存打开的不同工作簿
【发布时间】:2014-04-28 15:19:40
【问题描述】:

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

【问题讨论】:

    标签: excel vba save


    【解决方案1】:

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

    Workbooks("WorkbookA.xlsx").Save
    

    【讨论】:

      【解决方案2】:

      您可以使用Workbook.Save 方法来保存您的工作簿。会是这样的

      wb.Save
      

      ActiveWorkbook.Save
      

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

      【讨论】:

        【解决方案3】:

        尝试类似的方法:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-06-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多