打开Excel 2010文件时,ActiveX控件会调整大小

时间:2016-11-15 16:07:14

标签: excel activex

我已经阅读了很多关于ActiveX控件在单击或打印预览时自行调整大小的问题的内容。我没有遇到任何问题。

当我在XLSM中打开XLSB(或Excel 2010显示的)文件时,我在调整ActiveX控件时遇到问题。 XLS个文件似乎没问题。

单击按钮不会导致任何新的大小调整问题。该问题仅在打开文件时出现。如果我删除所有控件并重新制作它们,问题就会消失。有没有其他人有这个问题,并知道解决它的方法,而不必:

  1. 删除控件并重新创建
  2. 将任何VBA代码添加到工作簿以防止调整大小或保存以前的大小参数
  3. 使用Form控件代替ActiveX控件
  4. 基本上我正在寻找一个简单的解决这个问题的方法,如果可能的话,我不需要大量修改我遇到此问题的许多不同的工作簿。

2 个答案:

答案 0 :(得分:0)

右键单击按钮>格式控制>属性>不要移动或调整细胞大小 那应该解决问题

答案 1 :(得分:0)

我不确定为什么VBA会出现问题,因为您通常会使用VBA处理按钮点击。我在这里回答这个问题,因为它是关于这个问题的最新信息请求,我想我最近找到了最简单的方法[有一个脑屁并忘了我是如何解决这个问题的所以编辑以更正记录]防止ActiveX控件在Excel中调整大小。你必须强制重绘。我是通过操纵控件的_Click事件中的.Top属性来实现的:

'REMOVE FOCUS WHEN ACCELERATOR USED, .TOP MANIPULATION FIXES RESIZE BUG
With cmdSubmit
    .Visible = False
    .Visible = True
    .Top = .Top - 1
    .Top = .Top + 1
End With

这使按钮始终保持良好状态。每次点击都会使按钮不可见并且可见,以消除当用户使用加速键启动它们时剩余的剩余焦点(TakeFocusOnClick仅适用于Clicks),这尤其相关,因为构建支持键盘的解决方案的能力是唯一的我坚持使用ActiveX控件的原因。