КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Dim strString as stringStatic strString as string * 30 СОВЕТ Для определения размера текстовых полей фиксированной ширины можно пользоваться размерами полей таблиц. Объявление типа объекта Типы объектов необходимо объявлять очень точно. Если код работает с элементами управления текстовых полей формы, объектную переменную следует объявить как текстовое поле, а не просто как элемент управления. В таком случае VBA не понадобится решать, к какому типу элементов управления происходит обращение. Для уменьшения времени выполнения вместо Sub CycleControls(cnti as control) необходимо использовать Sub CycleContrals(cnti as TextBox) Использование поточного кода вместо вызова других функций Классическая дилемма между эксплуатационной надежностью и скоростью возникает, когда функция или подпрограмма вызывает другую функцию или подпрограмму. Такой метод очень надежен, но гораздо менее эффективен, чем решение задачи в одной процедуре. Иногда нужно выбирать между скоростью и надежностью, но не следует этого делать ради нескольких миллисекунд. Переключение True и False Установку флага в положение "истинно" (true) или "ложно" (false) не обязательно проверять с помощью условияIf...Then...Else. Можно сохранить время и уменьшить объем кода, изменив значение на обратное с помощью оператора NOT. Установив булеву переменную в значение, которое не присвоено данной переменной, получим обратное значение. Ниже приводится соответствующий пример кода: Вместо этого фрагмента: If bFlag = False then bFlag=True Else BFlag=False EndIF можно использовать строку: bFlag=Not bFlag Выполнение одной строки кода занимает намного меньше времени, чем выполнение нескольких строк с оценкой. Использование Len() вместо пустой строки Чтобы проверить строковую переменную на наличие символов, следует использовать функциюLen()вместо того, чтобы выполнять сравнение с пустой строкой (""). ФункцияLen() оценивается быстрее, чем сравнение строки символов со строкой нулевой длины. Sub CheckString(strString as string) If Len(strString) then MsgBox "Hare is the string: " & strString Endlf End Sub Использование True и False вместо нуля Поскольку True и False являются двоичными величинами, их оценивать проще, чем число 0.True и False можно использовать так: Function ShowNumber(dblNumber as Double) as string If dblNumber then ShowNumber ="The number is " & dblNumber Endlf
|