Текстовое поле пользовательской формы VBA — как вернуться к стилю границы по умолчанию после его изменения

Я создаю пользовательскую форму VBA в Excel 2010. Я добавил несколько текстовых полей, например:

Допустим, я выбрал верхнее текстовое поле и посмотрел его свойства. BorderStyle устанавливается на 0-fmBorderStyleNone. При изменении BorderStyle на 1-fmBorderStyleSingle, а затем обратно на 0-fmBorderStyleNone, он теряет свой стиль по умолчанию, как и верхнее текстовое поле, показанное ниже:

Это использование объекта. Если бы я редактировал BorderStyle с помощью кода VBA, эффект был бы таким же.

Есть ли способ вернуть текстовое поле полностью по умолчанию BorderStyle после изменения BorderStyle?


person Don D.    schedule 01.11.2016    source источник


Ответы (1)


На самом деле это свойство SpecialEffect, которое управляет утопленным видом. Изменение BorderStyle также влияет на SpecialEffect

Для сброса измените SpecialEffect на frmSpecialEffectSunken

person chris neilsen    schedule 01.11.2016
comment
Спасибо! Немного смущает, что я не удосужился посмотреть документацию по BorderStyle, как там объясняется. По крайней мере, будущие пользователи могут найти это полезным. - person Don D.; 01.11.2016