Tag: ocx

在excel vba中使用旧日历注册mscal.ocx时出错

我有不同的电脑具有相同的configuration(与Office 2013的Win7教授,完全相同的内部编号)。 我有一个使用Office 2007的旧日历控件的Excel文件。 为了解决这个问题,我用pipe理员权限注册了mscal.ocx : regsvr32.exe C:\temp\mscal.ocx 它在每台电脑上给我一个成功的消息。 但在一些电脑上,我不能使用旧的日历控件。 在个人电脑的工作日历控制是在红场上面看到,个人电脑不工作红场是空的,并给出了错误 列表框上运行时错误“380”[无法设置选定的属性。 无效的属性值。] 我search和比较了电脑的mscal.ocxregistry,他们是完全一样的。 我也在vba中添加了对mscal.ocx manualy的引用,但仍然是同样的问题。 我还能在哪里看到确保ocx正确添加? 任何想法如何解决它? 谢谢

如何将事件处理添加到Excel VBA中dynamic加载的OCX库的控件中

在Excel 2003 VBA项目中,我使用MSCOMCTL.OCX的TreeCtrl。 我将控件dynamic添加到我的应用程序中的一个表单(请参阅下面的代码)。 我想处理TreeCtrl的NodeClick事件。 由于控件是dynamic添加的,只是使用TreeCtrl_NodeClick似乎不起作用。 此外,我不能使用WithEvents approch,因为它似乎不适用于编译时不知道的types。 'Does not work. WithEvents probably only works on known data types that have events. 'private WithEvents treeCtrl As Object 'This code adds the control to the form Private Sub UserForm_Initialize() Dim treeCtrl As Object Set treeCtrl = Me.Controls.Add("MSComctlLib.TreeCtrl.2", "MyTreeCtrl") 'Does not work: AddHandler is not available in […]

64位Windows 7上的Excel 2003自动更改对SysWOW64 \ MSCOMCTL.OCX的引用,以便32位Excel抱怨

在Excel 2003 VBA项目中,我使用的是MSCOMCTL.OCX的控件。 那就是VBA项目有一个对System32 \ MSCOMCTL.OCX的引用。 当我在64位Windows 7系统上的Excel 2003中打开该项目时,Excel会自动将引用更改为SysWOW64 \ MSCOMCTL.OCX(这是正确的位置)。 但是,当我将该项目发送给使用32位Windows XP的客户时,由于系统中不存在SysWOW64 \ MSCOMCTL.OCX,因此该项目在开启期间抱怨。 以下是我迄今为止提出的(不满意的)解决scheme: 指示客户端手动将引用更改回到其系统上的正确位置(System32 \ MSCOMCTL.OCX)。 由于以下原因,这不起作用: 当Excel 2003 32位打开工作表并且无法find对MSCOMCTL的引用时,它将从库中删除所有来自库(例如TreeCtrl)的控件:-( 客户正在为这个程序挣扎,这对他来说是非常麻烦的。 使用VBA的VBProject.References.AddFromFile / AddFromGuid自动更正引用。 与上面相同的问题:在打开工作簿期间编译VBA失败时,Excel将删除从表单中找不到的所有控件。 自动添加引用(如2.),并使用dynamic绑定在运行时添加所有相关的控件。 这实际上可以工作,但是目前我正在努力将事件处理程序绑定到控件(但这将是单独的问题;-) 方法1.和2.不要真正解决任何问题,解决scheme3是很多工作。 任何想法将不胜感激。

Excel VBA:哪个OLE / OCX控件用于在表单中显示图表?

我必须在VBA中以用户forms显示柱形图。 将图表导出到GIF并导入到图片框中; 但我无法使用它,因为图表需要根据用户从同一表单中select的选项进行修改。 我一直在search,人们评论说可以使用MS提供的默认OLE / OCX控件。 我找不到一个可以做到这一点的ActiveX。 有人知道使用哪个控件以及如何使用它们?