Tag: activex

Excel给“系统错误&H80004005(-2147467259)。 未指定的错误“消息

每次我加载我的Excel文档,它会重复显示来自标题的消息。 这两个选项是确定和帮助。 帮助打开任何东西都没用的Office帮助。 单击确定显示另一条消息,说“编译错误:内存不足”。 与确定和帮助button。 点击确定,调出VBEditor,没有debugging线被选中,也没有出现任何macros。 最终,在重复了这个操作之后,我再次抱怨20次(夸张)(我认为这是由于每个表单上有很多ActiveX控件的重复代码)。 它突出显示了下面代码的第一行(Sub声明)。 Private Sub ComboBox4_Change() Range("B3") = ActiveSheet.ComboBox4.text End Sub 现在这是处理一个ActiveXcombobox。 从早期打开文件将不会有错误。 就像在某个date之后,它只是拒绝使用它。 得到这个,它只发生在一台电脑上。 这些文件保存在networking驱动器上,这不应该导致错误。

必须点击combobox的左侧才能工作

Excelcombobox(在excel表格上)只有当您点击箭头的左侧时才能使用。 如果您单击combobox的箭头,则不会发生任何事情。 问题不会发生在所有笔记本电脑上。 combobox为activeX,更改后运行VBA代码。 任何想法是什么造成这一点,以及如何解决? 干杯! 奥利弗。

Matlab:如何更新Excel中命名范围的值? (的ActiveX)

我想从Matlab中设置一个命名的范围在Excel中的值。 设置非命名范围的值工作正常。 例如,假设我有一个命名的范围“TENOR”(由一个单元格组成): calibFile = '//path/to/calibration-v2.xlsx' Excel = actxserver('Excel.Application'); Excel.Visible=1; AllWorkBooks = Excel.Workbooks WorkBook = AllWorkBooks.Open(calibFile) AllSheets = WorkBook.Sheets Sheet = get(AllSheets, 'Item', 1) // This Works: Sheet.Range('A1').Value = '5y' // This does not work: Sheet.Range('TENOR').Value = '5y' 有关如何设置命名范围的值的任何帮助?

ActiveX电子表格控件禁用了workbook_open事件

我已经将ActiveX电子表格控件插入到Excel VBA表单中。 我已经在ThisWorkbook.Workbook_Open()事件中编写了一个过程,并且在窗体上存在ActiveX电子表格控件时,将不会在打开工作簿时执行。 为了简化问题,我有: 创build了一个新的工作簿。 添加了一个空白表单“UserForm1”。 添加一个ActiveX电子表格控件到“UserForm1”,“Spreadsheet1”。 在ThisWorkbook中,添加Private Workbook_Open()事件:打开工作簿时不执行Workbook_Open事件。 从表单中删除电子表格控件时,workbook_open事件正常执行。 在这两种情况下都启用macros。 其他macros手动调用时成功执行。 如何让workbook_open事件在VBA表单上的ActiveX控件上执行? Private Sub Workbook_Open() MsgBox "Workbook_Open event has executed." End Sub 更新:当安全设置为“禁用带通知的所有macros”并且文件在受保护的视图中第一次打开时,Workbook_Open()事件被触发。 随后打开文件,事件不被解雇。

Excel VBA – ActiveX列表框行为 – 正在清除select

我想找出一对ActiveX多选列表框的问题。 这些列表框位于不同的工作表上,但我已经设置为在两者之间同步鼠标上的值。 这些调用一个函数来同步这两个,然后更新一个单元格以保留select。 由于写入表单导致Excel计算,因此我必须恢复这些select。 出于某种原因,除了当我从“摘要”工作表的第二个框中运行时,一切似乎都正常工作。 简而言之,使用debugging器的断点运行第二个盒子的MouseUp事件代码工作。 只要触发事件而没有断点,一切都会奏效,但是在一两秒之后,select就会清除。 我可以确认,重新运行代码以恢复select将从此正常工作。 所有其他行为在这个时候按预期工作。 只有当MouseUp事件被触发(没有断点)时,它似乎会导致一些清除select的事件。 (我现在认为这是重新启用事件之后的表格计算…虽然我认为这也会发生在debugging过程中…) 更新1:在将EnableEvents设置为true之后,我find了一个解决scheme,该工作区与存储选定内容的表格相关。 因此,我已经插入Sheet(…).Calculate如下所示,事情现在按预期工作。 这种行为似乎很奇怪,所以我想看看是否有其他人遇到过这样的事情。 为什么即使在事件被禁用时进行了更改,工作表也会重新计算? 由于某种原因,暂时禁用计算似乎也没有做到这一点,尽pipe我没有花太多时间来testing这个想法(它似乎创造了更多的问题,而不是固定的)。 更新和解决scheme: 这个问题结果与我原先想象的不同。 我发现它与同步无关,实际上与列表框位于不同的页面上有关。 两者都指的是一个dynamic范围 (我忘了提及),这实际上是关于dynamic范围重新计算(从而重置列表框)。 最初当我有一个盒子时,我通过不通过命名范围的盒子来解决这个问题,但是每次由于导入数据(或者就地控制器调整)来更新范围的地址。 这个盒子与dynamic范围在同一页面,而另一个不在,这意味着我不能传递地址(ActiveX控件不会在“链接单元格”中使用表单引用),所以我已经解决了指向命名的范围。 这又重新提出了我所看到的问题,在这个问题出现之前,我的许多解决方法都处理了其他症状。 我能够通过创build另一个“停滞”的命名范围来解决这个问题,我将更新引用来指向原来的命名范围,当它被我的其他macros更新,从而阻止它重新计算(和重置我的列表框)。 希望这对某人有帮助。 box1:LegSections2Check Private Sub LegSections2Check_MouseUp(ByVal Button As Integer, _ ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Application.EnableEvents = False Application.ScreenUpdating = False Call SyncChoices(Sheets("Loads")) Retain_Selections […]

Excel工作表占用大量的内存没有明显的原因

我为Excel中的一些客户端devise了一个工具,它包含一个充当用户input表单的工作表。 在表单上是一个active-x组合体,8个带有指定macros的形状,以及一个用颜色和边界格式化的范围,用于向客户端显示数据。 出于某种原因,这张表占用了大约3Mb的内存。 我已经做了一个副本,当删除这张纸时,文件大小下降到200Kb左右,一切都更顺畅。 我无法弄清楚为什么会出现这种情况。 到目前为止我已经尝试过: 取消隐藏所有行/列并填充所有单元格为“无填充” 消除过多的格式化工具(function区上的“查询”选项卡) 逐个删除所有形状/combobox 删除边框和所有文字 “解体”所有合并的单元格 删除不使用的样式 删除条件格式 似乎没有任何工作。 毕竟我是坐在一个完全空白和无用的工作表,仍然在删除工作表后,文件大小下降了3MB,即使我有10个其他工作表上有大量的数据。 有没有人有任何其他的build议,为什么这可能会发生,如果是的话,可以做些什么来纠正呢? 难道这与我的VBA有什么关系吗?还是擅长投掷摇摆?

有没有办法编程添加表单控件?

我正在使用窗体控件的电子表格,打开用于数据input目的的用户窗体。 表单的提交button填充一行单元格,并在该行的最后两个单元格上添加两个button。 它将插入与用户一样多的行,并且每次使用它们自己的不同名称创build两个新button。 但是,这些是ActiveX控件,一旦同事打开文件并尝试在笔记本电脑上使用,它们会给我提供与其他Windows / Office版本的兼容性问题。 这是我用来在电子表格上添加一个命令button的代码(对于另一个button,只是不同的variables,它本质上是一样的): Dim i As Long, Hght As Long Dim Name As String, NName As String i = 0 Hght = 305.25 NName = "cmdAction" & i For Each OLEObject In ActiveSheet.OLEObjects If Left(OLEObject.Name, 9) = "cmdAction" Then Name = Right(OLEObject.Name, Len(OLEObject.Name) – 9) If Name >= i Then i […]

Excel工作表上的ActiveX文本框会在丢失焦点时更改边框和字体

我有MS Excel中的ActiveX文本框的问题,如下图所示: 关注点: 但是,当失去焦点时,它显示不正确的字体: 你能告诉我如何纠正这个问题吗?

保存并退出ActiveX对象

我正在尝试使用JavaScript将数据发送到Excel列表,将数据添加到列表,保存并closures列表。 我知道什么时候使用ActiveX我只限于IE浏览器,但那没关系。 我面临的问题是既不退出也不保存方法。 该进程保持打开状态,数据不会保存,除非我手动保存。 这里是代码: function getNumber() { var Excel = new ActiveXObject("Excel.Application"); var test = Excel.Workbooks.Open("pathToFile"); var LastRow = test.ActiveSheet.Range("A1").CurrentRegion.Rows.Count; alert(LastRow); var combine = "A" + (LastRow); alert(combine); var getCell = test.ActiveSheet.Range(combine).Value; var delimiter = '_'; var start = 3; var tokens = getCell.split(delimiter).slice(start); var result = parseInt(tokens.join(delimiter)); var newNumber = result + 1; […]

Excel VBA 2010在自己的操作中自引用Active Xbutton

我想在Excel 2010中有一个活动的X控件获取它自己的替代文本,并将其显示在一个文本框中,当它被蒙上了阴影。 如果我使用绝对引用.Shapes("CommandButton1").AlternativeText它获取文本,我可以做我想要的,但是我想要一个更dynamic的function,所以相同的代码可以在没有编辑的多个button上使用,所以它将始终获得启动button自己的Alt文本。 我发现这在我的研究, 从Excel VBA控件内部自引用它似乎将做我所需要的,但是当我运行模块它会引发运行时错误13,types不匹配Set shpButtons(btnCount).MyButton = shp.OLEFormat.Object.Object 如果它很重要我试图做一个MouseMove事件,但是当我testing从前一个线程的代码我使用直接点击,看看它会在第一个地方,它没有,给出types不匹配的错误。 任何帮助得到这个工作,将不胜感激。 林先生,非常感谢你们。