2016-11-15 220 views
-1

我已經閱讀了大量關於ActiveX控件的問題,這些ActiveX控件在單擊或打印預覽時調整大小。我沒有問題。當Excel 2010文件打開時,ActiveX控件調整大小

我在調整自身大小時遇到​​ActiveX控件出現問題,當我在Excel 2010中打開XLSM(或出現XLSB時)文件。 XLS文件似乎沒問題。

單擊按鈕不會導致任何新的尺寸問題。只有在打開文件時纔會出現該問題。如果我刪除所有控件並重新制作它們,問題就會消失。沒有任何人有這個問題,知道的方式來解決它,而無需:

  1. 刪除的控件和重新創建它們
  2. 添加任何VBA代碼的工作簿,以防止調整大小或保存以前的尺寸參數
  3. 使用Form控制,而不是ActiveX控制

基本上我正在尋找一個簡單的辦法解決這個問題,不需要我去質量修改我遇到此問題,許多不同的工作簿如果可能的話。

+1

所以基本上,你問的是一個問題,被標記爲'VBA'而不需要任何代碼? –

回答

0

右鍵單擊該按鈕>格式控制>屬性>不要移動或用細胞 大小應該解決的問題

+0

通常我會說這是正確的,當控件的大小調整是因爲移動列或單元格,但這不是正在發生的事情。該屬性已設置爲不移動或大小。在仔細查看文件之後,我發現它在工作簿打開時發生,並且只在活動工作表上,而不是工作簿中可能有其他ActiveX控件的任何其他工作表。 –

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專門僅適用於點擊),這尤其相關,因爲構建鍵盤驅動解決方案的能力是唯一的我堅持使用ActiveX控件。