XLSB不会将更改保存到宏

时间:2019-03-21 06:27:47

标签: excel vba save xlsb

我一直在Office Excel 2016中处理.xlsb文件。我已经在VBA项目中开发了Macros,并且经过3个月的工作,它工作正常(文件的v25以下)。

现在,我需要对VBA宏进行一些调整。当我保存并关闭文件时,下一次打开该文件时,VBA代码更改会丢失(但是Windows识别出正确的上次保存日期)。

该文件在Workbook_Open和Workbook_BeforeClose事件中确实具有宏,但是自从正常运行以来,没有任何更改。值得注意的是,VBA项目中没有Workbook_BeforeSave事件。

我尝试过的故障排除步骤:

  1. 先删除部分然后再全部删除Workbook_BeforeClose事件
  2. 从头开始创建新文件并复制VBA代码
  3. 同时保存在VBA编辑器窗口和Excel应用程序窗口中
  4. 另存为新文件名

如果有帮助,这里是整个ThisWorkbook模块:

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  On Error Resume Next
  Application.DisplayAlerts = False
  Sheets("Picking").Delete
  Sheets("Ordering").Delete
  Clear_UI
  Dim UI As Worksheet
  Set UI = Sheets("User Interface")
  With UI
    .Shapes("Menu_StartNewEvent").OnAction = ""
    .Shapes("Menu_UpdateEvent").OnAction = ""
    .Shapes("Menu_ProduceSheets").OnAction = ""
    .Shapes("Menu_CountIn").OnAction = ""
    .Shapes("Menu_EditPackages").OnAction = ""
    .Shapes("Menu_EditCocktails").OnAction = ""
    .Shapes("Menu_EditInventory").OnAction = ""
  End With
  Unhide_Them
  Set UI = Sheets("Inventory Editor")
  UI.Shapes("SaveButton").OnAction = ""
  Set UI = Sheets("Cocktail Editor")
  UI.Shapes("SaveButton").OnAction = ""
  Set UI = Sheets("Package Editor")
  UI.Shapes("SaveButton").OnAction = ""
  Hide_Them
  Application.DisplayAlerts = True
  ThisWorkbook.Save
End Sub

Private Sub Workbook_Open()
  On Error Resume Next
  Application.DisplayAlerts = False
  ThisWorkbook.Windows.Item(1).Caption = Replace(ThisWorkbook.Windows.Item(1).Caption, " [Repaired]", "")
  ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Name, AccessMode:=xlExclusive
  ThisWorkbook.Saved = True
  Application.DisplayAlerts = True

  Dim UI As Worksheet
  Set UI = Sheets("User Interface")
  With UI
    .Activate
    .Shapes("Menu_StartNewEvent").OnAction = "ThisWorkbook.Start_New_Order"
    .Shapes("Menu_UpdateEvent").OnAction = "ThisWorkbook.Update_Event_Details"
    .Shapes("Menu_ProduceSheets").OnAction = "ThisWorkbook.Build_Only_Picking_Sheet"
    .Shapes("Menu_CountIn").OnAction = "ThisWorkbook.Build_Only_Picking_Sheet"
    .Shapes("Menu_EditPackages").OnAction = "Edit_Packages"
    .Shapes("Menu_EditCocktails").OnAction = "Edit_Cocktails"
    .Shapes("Menu_EditInventory").OnAction = "Edit_Inventory"
  End With
  Clear_UI
  Set UI = Sheets("Inventory Editor")
  UI.Shapes("SaveButton").OnAction = "Save_Inventory_Editor"
  Set UI = Sheets("Cocktail Editor")
  UI.Shapes("SaveButton").OnAction = "Save_Cocktail_Editor"
  Set UI = Sheets("Package Editor")
  UI.Shapes("SaveButton").OnAction = "Save_Package_Editor"
  Hide_Them
End Sub

我在这里查看了问题/答案:StackOverflow:xla-file-not-saving-in-excel-2010

0 个答案:

没有答案
相关问题