Tag: 行为用户

XL VBA如何防止在第一个.Show中忽略UserForm的.Top和.Left属性?

我有一个Excel 2007 VBA项目与几个用户窗体,其中之一是包含日历控件12.0对象的dateselect器。 每当用户点击其他表单上的两个文本框控件之一时,dateselect器就被激活。 我想控制dateselect器的启动位置,这样,当显示时,它与任何已经被点击的文本框控件一致。 为此,date选取器userform( frmDatePicker )公开三个公共variables: xOffset , yOffset和frmParent 。 其意图是,在显示frmDatePicker之前,它的.Top和.Left属性将通过引用这三个variables来设置,这些variables本身是由调用子程序初始化的。 (用户.StartUpPosition的.StartUpPosition属性也设置为零(即“手动”)以允许以这种方式控制其初始位置。) 这工作完美…除了第一次显示dateselect器。 第一次调用.Show方法时, frmDatePicker不会与单击的文本框alignment。 从第二次起,这个问题就消失了。 frmDatePicker的代码如下: Option Explicit Public InitialDate As Variant Public xOffset As Double Public yOffset As Double Public frmParent As Object Private DateSelected As Boolean Function Execute() As Boolean If Not frmParent Is Nothing Then Me.StartUpPosition = 0 Me.Left […]