在其他屏幕(监视器)VBA中打开第二个Excel工作簿

时间:2018-09-27 08:55:19

标签: excel-vba monitor

我有两个监视器。在右边,我有我的第一本宏工作簿。我将如何使用第一个工作簿中的宏(VBA)在左侧打开第二个工作簿。 THX

1 个答案:

答案 0 :(得分:0)

如果仅在单独的cofig中单独使用此文件,则可以使用一些快捷方式。
主监视器的left =0。如果主监视器的左侧是辅助监视器,则left的数字将小于0(取决于分辨率)。
第二个监视器在右侧,然后left标记辅助监视器的开始将是excel窗口的left + width(如果已最大化)。
假设辅助监视器在左侧
这应该很好

Option Explicit

Public Sub NewWbk()
    Dim Exl As Excel.Application

    Set Exl = New Excel.Application 
    'here you'll need to change to open your file instead of adding new empty file 
    Exl.Workbooks.Add 
    Exl.Visible = True
    With Exl.Application
        .WindowState = xlNormal 'can't move maximized window 
        .Left = -500 'should work on most resolutions
        .WindowState = xlMaximized
    End With

End Sub

但这是非常不可靠的解决方案,在很多情况下可能无法正常工作。 您应该做的是使用API​​调用,检查监视器数量,检查应用程序在哪个监视器上可见,并确定在哪里打开新文件。
看看Here