Vba Office 2013与#x2B;Win7和Office 2013+;Win10

Vba Office 2013与#x2B;Win7和Office 2013+;Win10,vba,excel,Vba,Excel,假设您有10个用户(数字是任意的): 7个用户在Office 2013中使用Windows 7,均为32位 3个用户使用Windows 10(64位)和Office 2013(32位) Windows 10用户在尝试使用宏时出现2个错误: 打开宏时,他们会收到一个关于系统中缺少文件的错误 当表单/控件开始加载时,它们会收到一条编译错误消息 第一个错误是通过删除对通用控件(mscomct2.ocx)的引用而修复的 第二个错误是由用作日期选择器的组合框引起的。Win10系统上根本不加载这些组合框

假设您有10个用户(数字是任意的):

  • 7个用户在Office 2013中使用Windows 7,均为32位
  • 3个用户使用Windows 10(64位)和Office 2013(32位)
Windows 10用户在尝试使用宏时出现2个错误:

  • 打开宏时,他们会收到一个关于系统中缺少文件的错误
  • 当表单/控件开始加载时,它们会收到一条编译错误消息
  • 第一个错误是通过删除对通用控件(mscomct2.ocx)的引用而修复的

    第二个错误是由用作日期选择器的组合框引起的。Win10系统上根本不加载这些组合框

    cboFillerName = Date
    
    问题是宏对7个用户都能很好地工作,但对3个用户中的任何一个都不起作用。它们之间的唯一区别是Windows10

    那么,这两个操作系统之间是否存在导致这种情况的API差异呢?是Win10/Office 2013(32位)的混合造成了组合框不能用作日期选择器的复杂场景吗


    我不能提供任何特定的代码,尽管我认为这并不重要,因为这个问题似乎与代码无关

    IIR,配置为日期选择器需要mscomct2.ocx。我只是迟到了。共产国际的难题就在这里。宏需要该文件,但该文件会导致错误…只要office安装是32位的,您就可以分发.ocx文件-它将在32位上下文中运行。另一个选择是找到一个不同的ActiveX控件来使用,但您也需要分发它。唯一的另一个选择是手动滚动您自己的日期选择器,可能作为一个用户表单。在您必须支持64位Office之前,这基本上只是一个部署问题。我得出了相同的结论。尝试将ocx文件放在一个Win10系统上。这导致返回第一个错误,同时保留第二个错误,尽管对文件的引用不再列为“丢失”。还有什么想法吗?我不想直接做我自己的约会选择。。