在主监视器上显示Excel

时间:2015-03-25 13:03:39

标签: excel vba userform multiple-monitors

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

  1. 如果我打开任何Excel文件并在主屏幕中全屏显示然后关闭它,然后打开用户表单它工作正常!
  2. 如果我打开任何excel文件并将其移动到辅助屏幕,那么 关闭它并打开用户窗体,就会出现问题!
  3. 所以,我的问题是:

    有没有办法强制Excel在主屏幕中全屏显示?

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

似乎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