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

问题描述:

我已经阅读了大量关于ActiveX控件的问题,这些ActiveX控件在单击或打印预览时调整大小。我没有问题。当Excel 2010文件打开时,ActiveX控件调整大小

我在调整自身大小时遇到​​ActiveX控件出现问题,当我在Excel 2010中打开XLSM(或出现XLSB时)文件。 XLS文件似乎没问题。

单击按钮不会导致任何新的尺寸问题。只有在打开文件时才会出现该问题。如果我删除所有控件并重新制作它们,问题就会消失。没有任何人有这个问题,知道的方式来解决它,而无需:

  1. 删除的控件和重新创建它们
  2. 添加任何VBA代码的工作簿,以防止调整大小或保存以前的尺寸参数
  3. 使用Form控制,而不是ActiveX控制

基本上我正在寻找一个简单的办法解决这个问题,不需要我去质量修改我遇到此问题,许多不同的工作簿如果可能的话。

+1

所以基本上,你问的是一个问题,被标记为'VBA'而不需要任何代码? –

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

+0

通常我会说这是正确的,当控件的大小调整是因为移动列或单元格,但这不是正在发生的事情。该属性已设置为不移动或大小。在仔细查看文件之后,我发现它在工作簿打开时发生,并且只在活动工作表上,而不是工作簿中可能有其他ActiveX控件的任何其他工作表。 –

我不知道为什么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专门仅适用于点击),这尤其相关,因为构建键盘驱动解决方案的能力是唯一的我坚持使用ActiveX控件。