Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Правила оформления кода
VBA не накладывает на структуру программы (процедуры) каких-либо особых ограничений. Однако желательно придерживаться следующих рекомендаций: 1. В соответствии с правилами хорошего стиля программирования размещать инструкции описания в начале процедуры, т.е. структурно выделив в ней описательную и исполнительную части. 2. Использовать комментарии. Комментарии, т.е. пояснения к фрагменту текста процедуры, не являются программным кодом и поэтому компилятором игнорируются. Комментарии выполняют две важные функции: - Делают программу легко читаемой, поясняя смысл кода и алгоритма. Комментарии могут располагаться в любом месте процедуры. Закомментированный текст в начале программы используется для указания действия, выполняемого ею, и краткой справке об авторе программы. Комментарии по тексту процедуры обычно используются для пояснения ключевых фрагментов кода. - Временно отключают от выполнения закомментированные фрагменты программы, что бывает очень полезно при ее отладке. Для ввода комментариев используется символ (´) апостроф. Его можно использовать в любом месте строки. При этом все символы, начиная от апострофа до конца строки, будут восприниматься компилятором как комментарий. Например: Sub Lab1 () ´ программирование линейных алгоритмов ´ задание 2.2 ´ выполнил студент гр. МТ-11 ´ Иванов И.И. Dim S As Integer ´ S – сумма положительных чисел Dim i As Byte ´ i – переменная цикла … End Sub 3. Перенос строк кода. Длинные инструкции можно размещать в нескольких строках. Для этого используют признак продолжения строки, состоящей из двух символов: пробела и подчеркивания(_). Например, y = 2 * Sqr(x+3) - (log(x^2) +2) _ / (sin(x-1)); При переносе строк необходимо помнить: - Нельзя разбивать переносом строковые константы. Если строковая константа длинная, и ее все же необходимо разбить, следует использовать операцию конкатенации (сцепления). Например, y= “В обрабатываемом массиве нет” & _ “ положительных чисел”; - За признаком продолжения строки нельзя ставить комментарий. - Допустимо не более семи продолжений одной и той же строки. - Строка не может состоять более чем из 1024 символов. 4. Расположение нескольких операторов в одной строке. Использование знака двоеточия (:) позволяет разместить несколько операторов (инструкций) на одной строке. Это всегда короткие операторы, как правило, операторы присваивания. Например, конструкции x=x+a y=x-b эквивалентны такой x=x+a: y=x-b 5. Выделение логических уровней кода отступами. Любая информация воспринимается лучше, если она имеет иерархическую структуру (процедура, цикл, вложенный цикл, ветвление, вложенное ветвление, описательные инструкции и т.д.). В VBA такая структура создается с помощью отступов в коде в нужных местах. Это не только облегчит чтение кода, но и поможет увидеть его структуру. Правила отступа просты. Основной текст программы набирайте с отступом, например, в три пробела. Каждый вложенный блок (например, инструкции, расположенные внутри оператора цикла) сдвиньте еще на три пробела и т.д. 2. ОРГАНИЗАЦИЯ ВВОДА – ВЫВОДА ДАННЫХ Для обмена информацией с пользователем в Windows используются специальные формы, которые называются диалоговыми окнами. В проектах VBA при организации диалога с пользователем используются две разновидности встроенных диалоговых окон: окна сообщений и окна ввода. Окно ввода (InputBox) обеспечивает ввод информации, а окно сообщений (MsgBox) выводит сообщения для пользователя. Кроме того, в программах VBA, написанных для приложения MS Excel, есть возможность ввод и вывод данных осуществить непосредственно из ячеек (в ячейки) рабочего листа.
2.1. ОКНО СООБЩЕНИЯ. Стандартная процедура MsgBox
Вывод – это процесс переноса информации из оперативной памяти компьютера на внешний носитель (экран, принтер, файл). Практически любое информационное сообщение или предупреждение пользователь может вывести в специальном диалоговом окне. Программная поддержка окна сообщения осуществляется встроенной процедурой MsgBox, которая - выводит на экран диалоговое окно, содержащее сообщение и одну или более кнопок (см. рис.1-5). Кнопка OK выводится всегда. Остальные кнопки – по усмотрению разработчика. - устанавливает режим ожидания нажатия кнопки пользователем. Сокращенный синтаксис процедуры MsgBox:
MsgBox сообщение [, атрибуты] [, заголовок] Элементы синтаксиса: сообщение – Обязательный. Строковое выражение, отображаемое как сообщение в диалоговом окне. Максимальная длина строки 1024 символа. атрибуты – Необязательный. Числовое выражение, с помощью которого можно установить Ø число и тип отображаемых кнопок; Ø тип используемого информационного значка; Ø основную кнопку. Значение по умолчанию этого параметра равняется 0. Значения констант, определяющих число, тип кнопок и используемых значков, (табл.8. – 9). Для вывода в окне сообщения нескольких кнопок и информационных значков значения констант указываются в виде элементов операции конкатенации. Например: vbOKCancel + vbExclamation заголовок - Необязательный. Строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот параметр опущен, то в строку заголовка помещается имя приложения (рис.1). Наличие запятых, соответствующих отсутствующим не последним аргументам, является обязательным.
Параметры атрибуты и заголовок могут отсутствовать. Однако если в процедуре используется параметр заголовок, то перед ним необходимо указать два разделительных символа “, ” (запятая). Пример 2.1. Вывод простого информационного сообщения. Процедура Pr_1: Sub Pr2_1() ' Простое информационное сообщение MsgBox " Привет!!! " End Sub Результатом работы данной процедуры является информационное сообщение, выведенное в виде диалогового окна (рис.2.1.). Поскольку в процедуре MsgBox отсутствуют параметры атрибуты и заголовок, то в диалоговом окне выведена только одна обязательная кнопка OK, которая используется для закрытия окна, и в заголовке окна выведено имя приложения – Microsoft Excel. Для ввода в строке заголовка окна сообщения личного заголовка (например, такого, как на рисунке 2), необходимо изменить процедуру MsgBox: MsgBox “Привет!!! ”,, “Пример”
Усложним выводимое информационное сообщение. На рис.2.2 б) показан результат вывода строковой константы “ Привет!!! ” и значения строковой переменной Name. Для их вывода в качестве единого информационного сообщения использована операция конкатенации (сцепления). Данный вывод реализован с помощью следующей процедуры.
Sub Pr2_1_б() ' Простое информационное сообщение ' с выводом заголовка Dim Name As String Name = " Анна" MsgBox " Привет!!! " & Name,, " Пример" End Sub Для вывода сообщения в нескольких строчках используется стандартная функция Сhr(). Онапозволяет получать символы, генерируемые при нажатии различных клавиш. Например, Chr(9) – соответствует нажатию клавиши Tab, Chr(13) – клавиши Enter. Поскольку символы, используемые для начала новой строки являются очень важными при форматировании сообщений и других строковых данных, которыми манипулирует VBA-процедуры, VBA имеет несколько предопределенных констант для этих символов, чтобы не было необходимости использовать функцию Chr(): Ø vbCr – символ возврата каретки, эквивалент выражения Chr(13); Ø vbTab – символ табуляции, эквивалент выражению Сhr(9). Символы табуляции включают в строки для выравнивания данных в столбцах. На рис.2.2 в) приведены результаты работы процедуры Pr2_1_в(). Sub Pr2_1_в() ' Простое информационное сообщение с выводом заголовка Dim Name As String Name = " Анна" MsgBox " Привет!!! " & Chr(13) & Name,, " Пример" End Sub Пример 2.2. Вывод информационного сообщения совместно с информационным значком в окне сообщения. Процедура Pr2_2 осуществляет вывод диалогового окна, представленного на рис.2.3.
Sub Pr2_2() ' Вывод сообщения в сочетании с ' предупреждающим информационным значком MsgBox " Процент выполнения плана выпуска продукции -" & _ vbCr & " незначительный", vbExclamation, _ " Пример" End Sub Для вывода информационного значка (Предупреждение) используется в качестве параметра атрибуты встроенная константа vbExclamation (см. табл.9).
Пример 2.3. Вывод диалогового окна с кнопками ОК (основная), Отмена и со значком (Предупреждающий запрос). Данное окно (рис.2.4) можно вывести с помощью следующей процедуры Sub Pr2_3() ' Вывод сообщения с двумя кнопками ОК и Отмена 'в сочетании с предупреждающим информационным значком. ' Кнопка ОК является основной MsgBox " Процент выполнения плана выпуска продукции -" & _ Chr(13) & " незначительный", vbOKCancel + _ vbQuestion + vbDefaultButton1, " Пример" End Sub 2.2. ОКНО ВВОДА. Стандартная функция InputBox()
Ввод – это процесс переноса информации с внешнего носителя (клавиатура, файл) в оперативную память компьютера. Программная поддержка окна ввода обеспечивается функцией InputBox(), которая Ø Выводит на экран диалоговое окно, содержащее сообщение, поле ввода и две кнопки: ОК и Cancel (см. рис.2.5); Ø Устанавливает режим ожидания ввода текста пользователем и нажатия кнопки; Ø Возвращает значение типа String по нажатию кнопки ОК, содержащее текст, введенный в поле ввода; Ø Возвращает пустую строку (значение Empty) при нажатии кнопки Cancel. Сокращенный синтаксис: InputBox (сообщение [, заголовок] [, умолчание]) Элементы синтаксиса: сообщение – Обязательный. Строковое выражение, отображаемое как сообщение в диалоговом окне. Может содержать несколько строк. Максимальная длина строки 1024 символа. заголовок - Необязательный. Строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот параметр опущен, то в строку заголовка помещается имя приложения. умолчание – Необязательный. Строковое выражение, отображаемое в поле ввода. Используется по умолчанию, если пользователь не введет другую строку. Если параметр опущен, то поле ввода изображается пустым. Наличие запятых, соответствующих отсутствующим не последним аргументам, является обязательным. Например, с помощью инструкции x = InputBox(" Введите значение х", " Пример 3.5", " 5") с помощью окна ввода (рис.2.5) осуществляется ввод некоторого значения с клавиатуры. Затем введенное значение преобразуется в соответствии с типом переменной x. При вводе вещественных чисел используется знак десятичная запятая (“, ”). Например, как на рис.2.6.
2.3. Ввод/вывод данных с/на рабочий лист Excel Для организации ввода/вывода данных непосредственно с/на рабочий лист приложения MS Excelиспользуется объект Range (Диапазон ячеек) или свойство Cells (Ячейка) объекта Worksheet (Рабочий лист). С их помощью можно работать с любой ячейкой рабочего листа Excel. Используя объект Cells, можно содержимое ячейки рабочего листа присваивать в качестве значения переменной и наоборот, значение выражения выводить в любой ячейке. Например, Ø x=Cells(5, 3).Value или x = Range(" C5").Value Переменной x присваивается значение свойства Value ячейки С5. Ø x = Cells(1+i, 1+j).Value Переменной x присваивается значение ячейки, номер строки и столбца которой определяется значениями выражения 1+i и 1+j соответственно. Ø Cells(8, 4).Value =x+2*y В ячейке D8 выводится значение выражения x+2y. Ø p = InputBox(" Введи номер строки") q = InputBox(" Введи номер столбца") Cells(p, q).Value = a + Range(" A1").Value В ячейку рабочего листа, расположенную в p строке и q столбце выводится значение выражения a + Range(" A1").Value. Номера строки и столбца вводятся с клавиатуры. Пример 2.4. Вычислить значение функции . Ввод/вывод данных осуществить с/на рабочий лист. Фрагмент рабочего листа с исходными данными представлен на рис.2.7 а). Расчеты получены с помощью процедуры Pr2_4() и выведены на тот же рабочий лист (рис.2.7 б)).
Sub Pr2_4 () Dim a As Byte, b As Byte, x As Integer, y As Single a = Cells (2, 3) b = Cells (3, 3) x = Cells (4, 3) y = (x + 3) ^ 2 + (2 * a - 3 * b) / (x ^ 2 - 2.8) Cells(6, 1) = " Значение функции: " Cells (7, 3) = y End Sub
|