0
我想保留在應用程序中心的多個表單的位置,表單將是不同的大小,所以下面的FormTop/FormLeft代碼段不能一次又一次地運行同樣的效果。爲此,我使用表單的.top和.left值設置公共變量。保留用戶表單的位置VBA
我收到一個錯誤「對象不支持這個屬性或方法」,這看起來很奇怪,因爲我的印象是,使FormLeft的公式計算爲雙數據類型。這兩行代碼在代碼的第二部分都工作正常,我做錯了什麼?
Public FormTop As Double
Public FormLeft As Double
sub main()
CentreForm UserForm2
end sub
Sub CentreForm(UForm As UserForm)
With UForm
If FormTop = 0 And FormLeft = 0 Then
'*********Errors appear on the below two lines******************
FormLeft = Application.Left + (0.5 * Application.Width) - (0.5 * .Width)
FormTop = Application.Top + (0.5 * Application.Height) - (0.5 * .Height)
Debug.Print FormLeft, FormTop
End If
.StartUpPosition = 0
.Left = FormLeft
.Top = FormTop
End With
End Sub
sub IWork()
With UserForm2
.Left = Application.Left + (0.5 * Application.Width) - (0.5 * .Width)
.Top = Application.Top + (0.5 * Application.Height) - (0.5 * .Height)
end with
end sub
該生產線生產的錯誤? –
糟糕,FormLeft和FormTop都產生錯誤的行,我現在會更新... – User632716
你如何調用'CentreForm procedure'? –