动态创建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控件的主要内容,如果未能解决你的问题,请参考以下文章