动态创建DTPicker控件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态创建DTPicker控件相关的知识,希望对你有一定的参考价值。

有人可以指导我如何在VBA中动态创建日期选择器控件吗?这是我想要做的。我有一个宏,它将TextBox和ComboBox控件动态添加到VBA用户表单,具体取决于最终用户是否希望它可见。可见性(以及所有其他控件属性 - 宽度,高度等)由最终用户控制,方法是更新是/否,针对excel中“主”表单中提供的控件名称的值。

这就是我为TextBox和ComboBox控件所做的

`sub test()
 ---- some code

 Dim txtTextBox As MSForms.TextBox
 Dim cmbComboBox As MSForms.ComboBox

 If 'some cell in excel ‘Master’ worksheet' = "ComboBox" Then
 Set cmbComboBox = UserForm.Controls.Add("Forms.ComboBox.1", 'some cell in excel ‘Master’ worksheet')
 cmbComboBox.top = 'some cell in excel ‘Master’ worksheet'
 cmbComboBox.left = 'some cell in excel ‘Master’ worksheet'
 cmbComboBox.Width = 'some cell in excel ‘Master’ worksheet'
 cmbComboBox.height = 'cell in excel ‘Master’ worksheet'

  ----rest of my code
  end sub`

我的问题是,如何动态添加日期选择器,就像我添加TextBox和ComboBox的方式一样。我使用Controls.Add正确的方法来做到这一点?如果是这样我怎么能这样做?有人可以帮我解决这个问题!希望我的问题有道理。

答案

试试这个:

Dim dtDatePicker As Object
Set dtDatePicker = UserForm.Controls.Add("MSComCtl2.DTPicker", "dtp", True)
' Do whatever you want with dtDatePicker control here!

以上是关于动态创建DTPicker控件的主要内容,如果未能解决你的问题,请参考以下文章

vba日历控件只能在一个单元格用怎么办

VB中的日期格式,format和DTPicker

excel窗体中打开日历控件能否自动显示系统日期

怎么插入时间控件

VB用ACCESS按日期查询然后显示在datagrid上面

从后面的代码调用动态创建的控件