在主监视器上显示 Excel

Display Excel on the primary monitor

我有一个用户窗体在打开 excel 文件时自动打开。它有一些显示问题,因为向下滚动表单时选项按钮会消失。只有当我有 2 个显示器(主显示器和辅助显示器)时才会出现此问题。我注意到这两种情况:

  1. 如果我打开任何 Excel 文件并在主屏幕中将其设为全屏,然后将其关闭,然后打开用户窗体,一切正常!
  2. 如果我打开任何 excel 文件并将其移动到辅助屏幕,然后 关闭它并打开用户窗体,问题出现了!

那么,我的问题是:

有没有什么办法可以强制Excel在主界面全屏打开?

将此添加到 Workbook_Open() 事件过程,您将能够在主监视器上以全屏模式打开工作簿。

Private Sub Workbook_Open()
   Application.Top = 0
   Application.Left = 0
   Application.DisplayFullScreen = True
End Sub

似乎 VBA 受最后打开的 Excel 文件的尺寸影响,我的意思是尺寸,如果它是全屏或正常显示以及在哪个屏幕。 另外一个需要考虑的问题是:如果副屏显示了一个Excel文件,而这个屏比主屏大,那么Application.Top、Application.Left就不会成功能够让应用进入主界面,需要先正常显示。 我解决自己问题的最终代码是:

Application.Visible = True
Application.WindowsState=xlNormal
Application.Width =100
Application.Height =100
Application.Top = 0
Application.Left = 0
Application.WindowsState =xlMaximized
With UserForm2
.Height=Application.Height
.Width=Application.Width
End With
UserForm2.ScrollBars = fmScrollBarsVertical
UserForm2.KeepScrollBarsVisible = fmScrollBarsVertical
UserForm2.Zoom = 120
UserForm2.ScrollHeight = (120 * nq) + 120
UserForm2.Show vbModeless
Application.Visible = False