Excel WorkbookOpen事件不存在';在“中”打开工作簿时不要点火;“受保护视图”;

Excel WorkbookOpen事件不存在';在“中”打开工作簿时不要点火;“受保护视图”;,excel,vba,Excel,Vba,2监视器设置。1个活动工作簿在右侧监视器中打开。我想在左显示器上打开新打开的工作簿。我发现了如何做到这一点,它可以工作,但如果文件在“受保护的视图”中打开,它不会启动 如果我单击以启用编辑,屏幕会出现一些闪烁,就像它工作一样,但窗口仍然显示在右侧的监视器上。随后打开文件将正确触发宏。但是,这对我不起作用,因为我正在Outlook中打开附件 有办法吗 这在我的Personal.XLSB文件的“ThisWorkbook”模块中: Private WithEvents app As Applicati

2监视器设置。1个活动工作簿在右侧监视器中打开。我想在左显示器上打开新打开的工作簿。我发现了如何做到这一点,它可以工作,但如果文件在“受保护的视图”中打开,它不会启动

如果我单击以启用编辑,屏幕会出现一些闪烁,就像它工作一样,但窗口仍然显示在右侧的监视器上。随后打开文件将正确触发宏。但是,这对我不起作用,因为我正在Outlook中打开附件

有办法吗

这在我的
Personal.XLSB
文件的
“ThisWorkbook”
模块中:

Private WithEvents app As Application


Private Sub Workbook_Open()
    Set app = Application
End Sub


Private Sub app_WorkbookOpen(ByVal Wb As Workbook)
    If Not Win_Toggle = 1 Then Exit Sub

    With app
        .WindowState = xlNormal
        .Left = -500
        .WindowState = xlMaximized
    End With
End Sub
切换当然设置为1


理想情况下,它将在打开时触发,无需我单击“启用编辑”。

对于在受保护视图中打开的工作簿,WorkbookOpen事件不会触发。你需要这个


这非常有效,文件按预期在左侧监视器中打开。一个旁注:当我点击“启用编辑”时,它会弹出到右边的显示器上。增加左移为我解决了这个问题。然而,在我看来,它仍然应该工作得很好。
Private Sub app_ProtectedViewWindowOpen(ByVal Pvw As ProtectedViewWindow) 
    If Not Win_Toggle = 1 Then Exit Sub

    With app
        .WindowState = xlNormal
        .Left = -500
        .WindowState = xlMaximized
    End With        
End Sub