2

我正在编写一个简单的宏来解决在多显示器上使用 XLS 的人的常见问题。通常,工作簿保存在第二个窗口中,并且在重新打开时不会出现在主窗口中。

为了解决这个问题,我尝试使用 App_WorkbookOpen 函数并遇到了几个问题。

  1. 此代码仅在打开新的 XLS 实例时运行。
  2. 此代码打开工作簿,但不在 Windows 菜单中显示。
  3. 此代码仅与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

有什么想法吗?

4

0 回答 0