VBA日历控件不同版本问题

时间:2011-04-11 08:38:15

标签: excel vba controls calendar ms-office

我已经构建了一个使用额外Calendar Control(mscal.ocx)的简单Excel工具。一切都很好,在不同的系统上,然而,日历似乎没有实现,而不是只是没有显示日期选择器,整个表单崩溃。

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

3 个答案:

答案 0 :(得分:2)

每当您使用非本地操作系统和excel版本的控件时,您就会在其他计算机上遇到麻烦。通常,在开发时,您可以访问大多数系统上不存在的表单,并且只存在因为安装了Visual Studio的表单或特殊的Microsoft Office程序包。每当出现这样的问题时,您有3种选择:

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

  2. 处理这样一个事实:某些系统不支持您的工具并提前警告用户或提供他们可以访问的虚拟机以及您的工具将继续运行。

  3. 使用基本按钮,列表框,下拉菜单,图像等重新设置您正在使用的任何花哨控件,这是最大的痛苦,通常需要您妥协一些不错的功能。

  4. 对于在XP系统上运行的excel 2007工具,我不得不做无数次,而不是Vista +,不再支持某些ActiveX控件(即Datagrid)。

答案 1 :(得分:0)

我将针对Excel 10(2003)进行构建,因为不是每个人都可能拥有新的Office 12(2010)。

或查看您是否可以在本地引用该ocx并使用您的Excel文件进​​行部署

答案 2 :(得分:0)

您可以在没有日历控件的情况下执行此操作。

Like this example here