<kompi>
mikekaganski: потому что про проверки я ни фига не понял
<mikekaganski>
kompi: не, так не интересно.
<mikekaganski>
вы такие интересные пользователи! чуть что - "фича сырая, недоделанная, фи", а как сами - так "пусть будет так"
<mikekaganski>
если нужно - давай разбираться вместе
<kompi>
ахахаха, дада, мы такие
<kompi>
mikekaganski: да, нужно
<kompi>
хотел бы начать с проверки на размер шрифта и тупого запрета стаить что-то вне диапазона 8-200
<mikekaganski>
Ок. Давай с твоей Formatting и начнём. Это процедура, работающая по кнопке. Здесь лучше и проверить всё.
<mikekaganski>
У тебя там происходит так: берём контейнер со вставками, в цикле проверяем, формула ли это, и если формула, то устанавливаем свойства ей, которые берём из окошек ввода
<kompi>
да
<mikekaganski>
Для каждой формулы у тебя данные вытягиваются из окошка заново
<kompi>
угу
<kompi>
ты хочешь один раз присвоить и потом юзать переменную?
<mikekaganski>
это не хорошо. Перед началом нужно всё проверить, записать данные из окошек в переменные, и уж потом записывать
<mikekaganski>
да
<mikekaganski>
Хоть это и не обязательно, советую тебе использовать Option Explicit, и все переменные объявлять с помощью Dim
<mikekaganski>
потому что так проще отлавливать ошибки
<mikekaganski>
так что начнём с того, что в начале процедуры вставим Dim nFontSize As Long
<mikekaganski>
Это объявляет переменную типа Длинное целое (просто Integer нельзя, т.к. у неё максимум 32К)
<kompi>
а зачем мне размер шрифта больше 32к? О_о
<mikekaganski>
А, да, это я так, автоматом
<mikekaganski>
ну, пусть Integer
<kompi>
а почему такое название переменной?
<kompi>
нумерик?
<mikekaganski>
привычка. n вначале говорит *мне*, что это целое число
<mikekaganski>
Чтобы сразу исправить в окошке на максимум/минимум
<mikekaganski>
если чел ввёл слишком мало, маловероятно, что он исправит на 28
<kompi>
mikekaganski: мне тут в глову стукнуло, вдруг дебилы будет формулы править в файле Draw, на формате А0, будет куча формул и надо будет размер поболее 200?=(
<mikekaganski>
Ну, это ты почему-то хочешь всех ограничивать в своих придуманных рамках
<kompi>
ну да=(
<kompi>
давай верхний предел уберем
<kompi>
совсем
<mikekaganski>
как скажешь
<kompi>
погоди
<mikekaganski>
kompi: забыл: перед EndIf нужно Exit Sub
<kompi>
мы объявили переменную, присвоили ей значение из диалога, а потом затеяли проверку и присвоили....
<kompi>
зачем эксит саб? О_о
<mikekaganski>
У тебя же произошла ошибка: пользователь ввёл слишком мало - пусть проверит перед продолжением
<mikekaganski>
ты ж сам этого хотел
<kompi>
а как тогда закончится проверка, если мы из нее вылезли?
<kompi>
или это нормально?
<mikekaganski>
всё нормально, он выдал сообщение и закончил процедуру досрочно
<mikekaganski>
kompi: дальше?
<kompi>
щас, афк на 10 мин
<mikekaganski>
ну, если меня не окажется - считайте, что я праздную свой ДР