Tag: activex

在带有DatePicker的Excel VBA中,“对象库无效或包含引用…”

我一直在做一个有很多VBA代码的Excel工作簿,现在我已经把这个文件发给了一些同事进行testing,而且在他们的计算机上不起作用。 我们都在同一家公司工作,并且拥有带有Office 2003的Windows XP SP2。 工作簿具有一个窗体,当点击一个形状时会打开它,并且它包含一些控件。 当他们点击窗体的形状时,显示以下错误: “对象库无效或包含对无法find的对象定义的引用” 在表单中有一个DatePicker,我认为存在这个问题。 如果我从表单中删除datePicker并再次发送文件,他们不会得到这个错误信息。 我已经尝试删除这两个网站“ 微软 ”和“ lessanvaezi ”中提到的mscomct2.exd文件,但错误stilpopup。 我检查并生成新的.exd文件。 一些附加信息: 我检查他们的系统,他们有正确的位置(c:\ Winxp \ System32)文件mscomct2.ocx。 如果我打开一个空的Excel文件,进入VBA编辑器去工具 – >参考,我没有看到选项注册“Microsoft公共控制-2 6.0(SP6)”(mscomct2.ocx)。 而是我看到一个“Microsoft Windows公共控制Satellite-3 6.2)”(cmct3de.dll)。 我用datePicker发送同事文件,但没有提及“Microsoft Common Control-2 6.0(SP6)”。 在单击形状并打开表单之前,我尝试用下面的代码dinamically引用MSCOMCT2.ocx库。 它引用了“Microsoft Common Control-2 6.0(SP6)”,但仍然popup错误。 Sub RegisterCtl() 'MSComCt2.ocx strGUID = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}" ThisWorkbook.VBProject.References.AddFromGuid guid:=strGUID, Major:=1, Minor:=0 结束小组 如果我然后去VBE编辑器中的窗体,右键单击工具箱,然后转到其他控件添加“Microsoftdate和TimePicker”控件,我看到该选项列出两次。 不幸的是,我认为,行为是一样的:datepicker符号被添加到工具箱中,但是当我将控件拖到窗体上时,popup一个msgBox,说该控件不可用。 有没有人知道什么是错的? 我能做些什么来使它在电脑上运行? 我感谢任何帮助。 编辑: 有这个问题的计算机已升级,所以我不能find具体的解决scheme,我的情况。 […]

在ActiveX控件已经实例化的情况下,Excel中导致Visual Basic运行时错误-2147319765(8002802b)的原因是什么?

我用C ++创build了一个ActiveX控件。 我使用Visual Basic代码来实例化Excel工作表中的控件。 我只能运行一次VB脚本,当尝试访问“ActiveSheet”variables时,后续运行会导致以下运行时错误: Microsoft Visual Basic Run-time error '-2147319765 (8002802b)': Automation error Element not found 我正在努力解决是什么原因导致这个错误,我该如何解决它? 作为一个实验,我尝试创build一个由Visual Studio向导生成的简单ActiveX控件(在VS 2005&2008中)。 我没有在这个testing用例中添加或修改任何代码。 简单的testing用例仍然会导致这个错误。 系统中的其他ActiveX控件不会导致此错误(例如,我尝试从VB代码中实例化“位图图像”)。 这是VB代码(我logging的一个macros,但手动编码的VB有相同的问题): Sub Macro1() ActiveSheet.OLEObjects.Add(ClassType:="test.test_control.1" _ , Link:=False, DisplayAsIcon:=False).Select End Sub 任何人都可以给我一个答案吗? 或者任何指向可能有帮助的资源指针将不胜感激。 谢谢

如何防止在VBA中触发ActiveX事件?

我正在寻找一种更好的方法来禁用在Excel工作簿中触发的ActiveX事件(尽pipe这将适用于具有ActiveX对象的所有Office应用程序)。 希望类似于Application.EnableEvents = false ,但这不适用于ActiveX。 在下面的例子中使用全局布尔值是微不足道的,但我有很多事件处理程序为我的ActiveX对象,这将是非常容易的东西,我可以普遍适用于临时禁用ActiveX事件。 我真的不想为这些方法中的每一个添加一个if / exit子语句。 为了演示此问题,请在工作表中创build一个ActiveXcombobox,并将以下内容添加到该工作表模块中 Public initializingContent As Boolean Private Sub intializeAllActiveXContent() 'this doesn't apply to activeX events :'( Application.EnableEvents = False 'this could work but is not really elegant 'change this to false to show my problem in 'the intermediate window (called not once but twice) initializingContent = True […]

matlab使用activex接口自动保存excel文件

我在matlab中有一个代码。 运行我的程序后,创build了一个“example2.xlsx”文件。 现在我有下面的代码,我希望matlab用新的“example2.xlsx”replace当前的'example2.xlsx'(自动保存而不询问我是否要replace它): e = actxserver ('Excel.Application'); % # open Activex server filename = fullfile(pwd,'example2.xlsx'); % # full path required ewb = e.Workbooks.Open(filename); % # open the file esh = ewb.ActiveSheet; str = num2str(num_rows+1); esh.Range(strcat('J',str)).Interior.Color = clr; sheet1 = e.Worksheets.get('Item', 'Sheet1'); range1 = get(sheet1,'Range', strcat('A',str),strcat('I',str)); range1.Value = values{num_rows+1}; [num, txt, raw] = xlsread('example2.xlsx'); num_rows = […]

Python和Excel:尽pipe有XlSaveConflictResolution值,覆盖现有文件总是会提示

我使用Python程序中的Excel.Application COM对象来打开一个CSV文件并将其保存为一个Excel工作簿。 如果目标文件已经存在,那么系统会提示以下消息:“在这个位置已经存在一个名为'…'的文件,你想replace它吗? 尽pipe事实上我已经把XlSaveConflictResolution的值设置为xlLocalSessionChanges ,但是这个消息应该会自动覆盖这些更改而不会提示 – 或者我想。 我正在使用Microsoft Office Excel 2007(12.0.6535.5002)SP2 MSO和ActivePython 2.6.5.14。 我已经尝试使用常量和整数的所有三个XlSaveConflictResolution值。 我还没有尝试不同版本的Excel。 这是一个代码片段: import win32com.client xl = win32com.client.gencache.EnsureDispatch("Excel.Application") wb = xl.Workbooks.Open(r"C:\somefile.csv") wb.SaveAs(r"C:\somefile.xls", win32com.client.constants.xlWorkbookNormal, \ None, None, False, False, win32com.client.constants.xlNoChange, \ win32com.client.constants.xlLocalSessionChanges) 以下是Microsoft关于Excel工作簿对象SaveAs方法的规范: http : //msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas(VS.80).aspx 这可能是一个新的“function”在Excel 2007中,或者我只是做错了什么?

我如何通过Excel中的ActiveX控件运行Perl脚本?

我想通过点击Excel电子表格中的button来运行Perl脚本。 由于该button被分配执行一个VBmacros,macros应该有效地执行该程序。 作为我的第一个VB脚本,这是我想出了,这引发了一个恼人的Run-time error '424': Object required错误。 Sub RunPerlScript() System.Diagnostics.process.Start ("perlscript.pl") End Sub 我怎样才能让这个脚本去做我想做的事?

Excel数据透视表在网页中

这可能是一个可closures的问题,但真的我认为Stackoverflow是最好的来源,可以find一个实际的答案。 我正在一个显示数据透视表的网页上工作。 我的解决scheme是基于纯jQuery +的HTML。 工作相当不错,直到现在虽然一些CSS工作仍然需要。 无论如何,我的项目负责人要求我尝试将连接到分析服务的Excel数据透视表作为对象放入浏览器中。 我不太喜欢这个解决scheme,但是我需要更多的观点,而不仅仅是说过时的架构。 第一点是,它只能在IE浏览器中运行,但不幸的是,最终用户不仅仅满意,而且还需要 IE浏览器。 另一个有趣的地方是,那些有趣的野兽可能会用来与服务器通信的协议并不是真正的HTTP,只是为了让防火墙感到开心。 最终客户(是的,说IE是一个要求的人)最终还是希望看到该应用程序在iPad上工作,即使项目似乎在某个时候发展,我怀疑这一次是否足以让苹果正确移植Safari中的ActiveX对象。 关于什么? 莫伊理由毫无意义,你看到更多的理由吗?

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

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

在Excel工作表上直接使用ActiveX控件需要哪些要求?

Microsoft Office支持文章“ 添加或注册ActiveX控件 ”说: 重要提示:并非所有的ActiveX控件都可以直接在工作表上使用; 有些只能用于Microsoft Visual Basic for Applications(VBA)用户窗体。 当您使用这些控件时,如果您尝试将它们添加到工作表,Excel将显示消息无法插入对象 。 但是,我无法在任何地方find必要的 , 足以使控件直接在工作表上使用的要求。 我创build了一个新的C ++ / ATL项目,我添加了一个ATL控件,接受整个默认值。 编译,构build和注册控件后,它出现在Excel的“更多控件”列表中(在开发人员>插入> ActiveX控件>更多控件…下访问),但试图插入到工作表中时,可以看到“不能插入对象“错误。 我必须做出什么修改才能解决这个问题? 要么 Excel对ActiveX控件的要求在哪里有logging? 对于它的价值,我已经validation了由向导生成的控件可以正常工作(使用从Visual C ++ 2008示例包构build的ActiveX控件testing容器进行testing )。 此外,我知道ATL控件向导的“外观”选项卡的文档描述了“可插入”checkbox,如下所示: select此选项可让您的控件显示在Word和Excel等应用程序的“插入对象”对话框中。 您的控件可以通过任何支持embedded对象的应用程序通过此对话框插入。 但是,这个checkbox(只是简单地将“Insertable”子项添加到registry中)只会导致控件出现在Insert> Text> Object对话框中,为了避免疑惑,同样的错误产生的方式。 我试图插入一个工作(Forms 2.0)控件时试图插入我的控制对比当前正在比较Excel的执行path的痕迹。 关键区别似乎在于VBE7.dll加载types库(其中OLE / COM对象查看器能够从我的DLL正确加载 – 但Excel执行完所有相同的读取之后,它会在写出EXD之前中止)…我现在正在通过一些程序集挖空心思,希望我能弄明白 – 但是肯定有人为Excel创build了一个工作控件,并且知道我错过了什么可以使我免于这种痛苦?! Microsoft Windows 10 Pro v1511(10.0.10586.164)64位 Microsoft Excel 2016 MSO(16.0.4312.1000)64位 Microsoft Visual […]

在单元格MS Excel vba中放置一个命令button

我想通过VBA代码在单元格中放置一个命令button。 说出位置B3。 我为此使用了macroslogging器,但它给了我button的最低值。 我不想要这样,如果我把我的代码与其他屏幕分辨率的其他计算机,代码将失败。 单元格位置(示例B3)将是绝对位置。 你能build议我这样做吗? PS它是一个activeXbutton 谢谢