2016-11-15 2 views
-1

Я читал много раз по межсетевым экранам о проблемах с элементами управления ActiveX, изменяя размеры при нажатии или при печати предварительного просмотра. У меня нет проблем.Элементы управления ActiveX изменяются при распаковке файла Excel 2010

У меня возникли проблемы с управлением элементами ActiveX, когда я открываю XLSM (или XLSB) файл в Excel 2010. XLS Файлы, похоже, все в порядке.

Нажатие на кнопки не вызывает никаких новых проблем с размерами. Проблема возникает только при открытии файла. Если я удалю все элементы управления и переделаю их, проблема исчезнет. Кто-нибудь еще есть эта проблема, и знает, как решить эту проблему без необходимости:

  1. Удалить элементы управления и повторно создать их
  2. Прибавьте VBA код книги для предотвращения изменения размера или сохранить предыдущие параметры размера
  3. Использование Form управления вместо ActiveX управления

в основном я ищу легко исправить для этого вопроса, который не требует меня к массе изменить много различных книг, которые я переживаю эту проблему если возможно.

+1

Так что, в основном, вы задаете вопрос, который помечен как 'VBA', фактически не требуя какого-либо кода? –

ответ

0

правой кнопкой мыши на кнопку> Format Control> Свойства> Не двигайся или размер с клетками Это должно решить проблему

+0

Обычно я бы сказал, что это правильно, когда изменение размеров элементов управления происходит из-за перемещения столбцов или ячеек, но это не то, что происходит. Это свойство уже настроено на «Не перемещать и не изменять размер». После того, как я внимательно посмотрел на файл, я вижу, что это происходит, когда рабочая книга открывается, и ТОЛЬКО на активном листе, а не в любом другом листе рабочей книги, в котором на нем могут быть другие элементы управления ActiveX. –

0

Я не уверен, почему VBA должно быть проблемой, так как вы обычно обрабатывать нажмите кнопку VBA. Я отвечаю на этот вопрос здесь, потому что это самый последний запрос информации по этому вопросу, и я думаю, что я недавно нашел простейший метод [имел мозговой пердит и забыл, как я решил эту проблему, поэтому отредактируйте, чтобы исправить запись]. ваши элементы управления ActiveX изменяются в Excel. Вы должны заставить перерисовать. Я делаю это, манипулируя свойство .TOP в _Click случае элемента управления:

'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.

Смежные вопросы