📜  excel vba StartUpPosition - VBA (1)

📅  最后修改于: 2023-12-03 15:30:39.700000             🧑  作者: Mango

Excel VBA StartUpPosition - VBA

在Excel VBA中,我们经常需要在代码中设置用户界面的位置。其中一个属性,StartUpPosition,用于确定Excel应该如何显示应用程序窗口。在本文中,我们将详细了解此属性的使用和可用选项。

属性说明

StartUpPosition属性确定Excel应该在何处显示应用程序窗口。可以使用的选项如下:

  • 0 - UserForm CenterOwner
  • 1 - UserForm CenterScreen
  • 2 - Manual
  • 3 - Windows Default

下面我们将依次详细了解每个选项的效果和用法。

UserForm.CenterOwner

此选项居中窗体,并相对于 当前活动窗口 的左上角。例如,如果在打开窗口之前,我们钦定要进行某些单元格操作并留下选区,那么该窗体将居中于在打开窗口期间拥有选择区域的窗口的上方。在使用此选项时,请确保在显示窗口之前打开了一个工作表或者您也可以使用 ActiveWindow 对象提供更多控制。

Private Sub UserForm_Initialize()
   With Me
      .CenterOwner
      .Height = 100
      .Width = 200
      .Caption = "UserForm.CenterOwner"
   End With
End Sub
UserForm.CenterScreen

此选项使窗体在相对于屏幕中心的位置居中显示。如果我们想要窗体在全屏显示的情况下太大,使用此选项将会有所帮助。

Private Sub UserForm_Initialize()
   With Me
      .CenterScreen
      .Height = 100
      .Width = 200
      .Caption = "UserForm.CenterScreen"
   End With
End Sub
Manual

此选项使用户能够在代码中手动确定窗口的位置。默认情况下,窗口将位于屏幕左上角,代码可以修改窗口的位置。例如,下面的代码将该窗口定位在原点以左50点,以上50点处:

Private Sub UserForm_Initialize()
    Me.StartUpPosition = 2 'manual
    Me.Left = 50
    Me.Top = 50
End Sub
Windows Default

此选项是默认设置,它与用户界面的前一次位置相同。使用此选项可以避免在窗口中预设大小和位置时其他属性的变化。

总结

在Excel VBA中,StartUpPosition选项提供了多种定位窗口的方法。UserForm.CenterOwner定位窗口相对于当前窗口的左上角, UserForm.CenterScreen将窗口定位在屏幕中央,Manual选项使用户能够自主决定窗口的位置,Windows Default选项则让窗口回到上一次的位置。无论我们如何决定选择哪种选项,都应该在代码中始终考虑用户体验和前一个窗口的状态来帮助最终用户轻松交互。