VBA日历控制不同版本的问题

我已经构build了一个使用附加日历控件(mscal.ocx)的简单Excel工具。 一切工作都很好,在不同的系统上,但是,日历似乎没有实现,而不是没有显示dateselect器,整个forms崩溃。

有没有办法实现日历控制,以便它在每个系统上运行? 或者我必须自己编写dateselect器? (OFFICE12)

每当您使用的控件不是所有操作系统和Excel版本的本机控件时,都会在其他计算机上请求帮助。 通常,在开发时,您将可以访问大多数系统上不存在的表单,并且只存在于您的表单上,因为您安装了Visual Studio或特殊的Microsoft Office软件包。 每当发生这样的问题,你有3个select:

  1. 尝试打包丢失的控件(mscal.ocx),并尝试为您的用户创build一个部署脚本,将其复制到System32目录并进行注册。 这是一个痛苦,因为单个控件通常有大量的依赖关系。

  2. 处理一些系统不支持您的工具,并提前向用户发出警告,或者提供可以访问的虚拟机以及您的工具将运行的事实。

  3. 重新使用基本button,列表框,下拉菜单,图像等,这是所有的最大的痛苦,使用任何奇特的控制,往往需要你妥协一些不错的function。

对于在XP系统上工作的Excel 2007工具,我必须无数次地做数字3,而不是在某些ActiveX控件(即Datagrid)不再支持的Vista +中。

我会build立对Excel 10(2003),因为不是每个人都可能有新的Office 12(2010)。

或者看看你是否可以在本地引用ocx,并用你的excel文件进​​行部署

你可以做到这一点没有日历控件。

就像这个例子