我的代码关闭了工作簿,但没有关闭 window
My code closes the workbook but not the window
我在关闭 window 时遇到问题。我正在使用 excel 2013,它会在单独的 window 中打开每个工作簿。我的代码关闭了工作簿,但没有关闭 window。有任何想法吗?我正在从另一个子呼叫这个子。
Sub export_sheet()
Sheets(sName).Move
ActiveWorkbook.SaveAs Filename:=sDir & sName & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Workbooks(sName & ".xlsx").Close SaveChanges:=True
Workbooks(ThisWorkbook).Activate
End Sub
我有两个 Excel 实例。一个包含我的代码 "temp 121015.xlsm",另一个只是一个带有工作簿名称的空 window,但工作簿已关闭。
Application.Quit
这将关闭整个 excel 应用程序实例。在代码中使用此行之前,您需要保存更改,以防止出现保存提示。
请试试这个:
Sub export_sheet()
Sheets(sName).Move
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=sDir & sName & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Workbooks(sName & ".xlsx").Application.Quit
ThisWorkbook.Activate
Application.DisplayAlerts = True
End Sub
Excel 2013年的独立申请方法 window 每个工作簿意味着您必须使用 Application.ActiveWindow property 关闭您创建的新工作簿而不留下空应用程序帧.
Sub export_sheet()
Sheets(sName).Move
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=sDir & sName & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close '<~~ this closes the new workbook created by the .Move
ThisWorkbook.Activate
Application.DisplayAlerts = True
End Sub
您已经在处理 ActiveWorkbook property created with the Worksheet.Move method. Continue working within this scope with ActiveWindow。
终于找到问题了。这是行 Application.visible=false
。如果我禁用它它工作正常但我真的想隐藏应用程序。
我在关闭 window 时遇到问题。我正在使用 excel 2013,它会在单独的 window 中打开每个工作簿。我的代码关闭了工作簿,但没有关闭 window。有任何想法吗?我正在从另一个子呼叫这个子。
Sub export_sheet()
Sheets(sName).Move
ActiveWorkbook.SaveAs Filename:=sDir & sName & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Workbooks(sName & ".xlsx").Close SaveChanges:=True
Workbooks(ThisWorkbook).Activate
End Sub
我有两个 Excel 实例。一个包含我的代码 "temp 121015.xlsm",另一个只是一个带有工作簿名称的空 window,但工作簿已关闭。
Application.Quit
这将关闭整个 excel 应用程序实例。在代码中使用此行之前,您需要保存更改,以防止出现保存提示。
请试试这个:
Sub export_sheet()
Sheets(sName).Move
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=sDir & sName & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Workbooks(sName & ".xlsx").Application.Quit
ThisWorkbook.Activate
Application.DisplayAlerts = True
End Sub
Excel 2013年的独立申请方法 window 每个工作簿意味着您必须使用 Application.ActiveWindow property 关闭您创建的新工作簿而不留下空应用程序帧.
Sub export_sheet()
Sheets(sName).Move
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=sDir & sName & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close '<~~ this closes the new workbook created by the .Move
ThisWorkbook.Activate
Application.DisplayAlerts = True
End Sub
您已经在处理 ActiveWorkbook property created with the Worksheet.Move method. Continue working within this scope with ActiveWindow。
终于找到问题了。这是行 Application.visible=false
。如果我禁用它它工作正常但我真的想隐藏应用程序。