前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA: DTPicker日期控件的使用

VBA: DTPicker日期控件的使用

作者头像
Exploring
发布2022-09-20 14:45:30
8.4K0
发布2022-09-20 14:45:30
举报
文章被收录于专栏:数据处理与编程实践

文章背景:最近在查看同事写的VBA代码时,发现了DTPicker日期控件。DTPicker是日期选择控件,自Win7开始,它就不是Windows系统自带的,需要下载MSCOMCT2.OCX,并在电脑上注册后才能使用。

1 DTPicker日期控件

DTPicker日期控件目前只支持32位的Office软件,而与windows系统的版本(32位或64位)无关。因此,在使用DTPicker日期控件之前,需要检查下电脑上office软件的版本是否是32位的。

针对32位的office软件,若要使用DTPicker日期控件,需事先进行如下三步操作。

(1)下载MSCOMCT2.OCX文件(以下简称OCX文件),参见文末的参考资料[1]。

(2)将OCX文件拷贝到指定文件夹内。对于64位的windows系统,拷贝路径为:C:\Windows\SysWOW64。对于32位的windows系统,拷贝路径为:c:\windows\system32

(3)在命令提示符窗口进行注册(通过管理员身份)。对于64位的windows系统,代码语句为:regsvr32 C:\Windows\SysWOW64\mscomct2.ocx

注册成功后,打开Excel文件,此时可以在excel表格和VBA窗口中调用DTPicker控件。 http://mpvideo.qpic.cn/0bc3duabqaaa5uamxszafbrfahoddaoqagaa.f10002.mp4?dis_k=9526b5c9afa4ce0be95ff09c5ff424ce&dis_t=1663656287&vid=wxv_2293886761531506690&format_id=10002&support_redirect=0&mmversion=false

2 DTPicker日期控件的替代方案

前面已经提到,DTPicker日期控件目前只支持32位的Office软件。因此,对于64位的Office软件,需要找一个可以替代DTPicker的日期控件。目前在网上找到了一个替代方案,相关文件的下载路径,请参见文末的参考资料[4]。

测试代码:

代码语言:javascript
复制
Option Explicit

Sub test()

    Dim dateVariable As Date
    
    dateVariable = CalendarForm.GetDate
    
    MsgBox "你选的日期为" & dateVariable

End Sub

控件使用的视频演示:http://mpvideo.qpic.cn/0bc3ymabcaaazuamlkzaprrfbq6dchbqaeia.f10002.mp4?dis_k=a17c99dc05351fe9dc7682ce82505865&dis_t=1663656287&vid=wxv_2293887270418022403&format_id=10002&support_redirect=0&mmversion=false

参考资料:

[1] MSCOMCT2.OCX : Free Download(https://www.ocxme.com/getfile.php?file=166&id=8d8aad175c9779503a68136e49eea2b4)

[2] VBA Userform with DTPicker(https://stackoverflow.com/questions/33798867/vba-userform-with-dtpicker)

[3] How to install mscomct2.ocx file from .cab file (Excel User Form and VBA)(https://stackoverflow.com/questions/15816014/how-to-install-mscomct2-ocx-file-from-cab-file-excel-user-form-and-vba)

[4] Excel VBA Date Picker(https://trevoreyre.com/portfolio/excel-datepicker/)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与编程实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 DTPicker日期控件
  • 2 DTPicker日期控件的替代方案
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档