我正在编写一个简单的宏来解决在多显示器上使用 XLS 的人的常见问题。通常,工作簿保存在第二个窗口中,并且在重新打开时不会出现在主窗口中。
为了解决这个问题,我尝试使用 App_WorkbookOpen 函数并遇到了几个问题。
- 此代码仅在打开新的 XLS 实例时运行。
- 此代码打开工作簿,但不在 Windows 菜单中显示。
- 此代码仅与personal.xls 模板交互。
我已经包含了几行代码来测试宏正在与之交互的内容。该代码位于我的个人模板的 ThisWorkbook 部分。
如果将核心代码放在单独的工作簿中,它就可以工作,但我希望它能够在所有 Wb_open 情况下运行。
Option Explicit
Public WithEvents App As Application
Private Sub Workbook_Open()
Set App = Application
End Sub
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
On Error Resume Next 'error handling, remove when final
Application.ScreenUpdating = False
If ActiveWindow.Left > Application.UsableWidth Then
ActiveWindow.Left = 15
ActiveWindow.Top = 10
End If
MsgBox "New Workbook:" & Wb.Name 'what wkbook?, remove when final
If Error Then End
End Sub
有什么想法吗?