【问题标题】:Activex checkboxes ghost, move, resizeActivex 复选框重影、移动、调整大小
【发布时间】:2015-12-04 09:37:17
【问题描述】:

我有一个项目(使用 Excel 2013),其中涉及使用 Activex 复选框和组合框。组合框很好,但复选框在几列上重影。我可以看到它应该在的复选框(W 列),但是当您单击它时,它会消失并重新出现在 U 列中;当我释放鼠标按钮时,它会再次显示它应该在哪里。例外是第一个复选框,它从一开始就显示在 U 列中,并且实际上按预期工作。

我可以手动选择它们并将它们“移动”回它们所属的位置...基本上,我将它们全部选中,然后将它们稍微移到一边,然后回到它们应该在的位置,然后它们就会正常工作,直到我下次打开文档(有时它们会保持原样并正常工作,有时它们会重复重影)。

我已尝试按照其他地方的建议删除 .xld 文件,但没有成功。正如有人建议的那样,我找不到“excel11”文件,我试过这个:How to fix activeX checkboxes moving when opening file,也无济于事。我真的被困住了,这是一个相当复杂的项目,大约有 20 个这样的电子表格,它们已经工作了三年,现在开始这样做了。

因此,当这些复选框完成了它们应该做的事情时,我实际上是为了使工作正常而进行的更改,因此我感到非常沮丧和沮丧。任何建议将不胜感激。

【问题讨论】:

    标签: excel checkbox activex


    【解决方案1】:

    以下链接中的“为我修复”下载为我修复了该问题。 https://support.microsoft.com/en-us/kb/2598310

    【讨论】:

    • 这似乎只适用于 2010,我正在使用 2013...无论如何我尝试运行它,它告诉我它不适用于我的版本。我一直在四处寻找是否有 2013 年的东西可用,还没有......
    【解决方案2】:

    我正在尝试建立一个左: 对于 Sheet1.OLEObjects 中的每个 obj

        If (TypeOf obj.Object Is MSForms.CheckBox) And (Left(obj.Name, 8) = OpChxBox) Then
            obj.Object.AutoSize = False
            obj.Top = Rows(CInt(Right(obj.Name, 2)) + 3).Top
            obj.Height = Rows(CInt(Right(obj.Name, 2)) + 3).Height
            obj.Width = Rows(CInt(Right(obj.Name, 2)) + 3).Height
            obj.Left = (Columns("W").Left + Columns("X").Left - obj.Width / 2) / 2
        End If
    

    如果这可以为​​您提供我正在尝试的要点。我发誓我以前尝试过这个,但它似乎在这一刻有效......历史告诉我它不会持久,所以如果有人有任何其他想法,我将不胜感激。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      • 1970-01-01
      • 2019-02-26
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多