Очень интересный урок а возможно ли посредством VBA запрограммировать воспроизведение звуков разной тональности 7 спасибо за урок
@StudyProf5 жыл бұрын
Здравствуйте. Да, можно. В самом Excel такой функции нет, но ее в модуле VBA можно подключить из API Windows. Например, введите в окно модуля: Private Declare Function Звук Lib "kernel32" Alias "Beep" (ByVal FrequencyHz As Long, ByVal TimeMs As Long) As Long Public Sub Пример() Звук 1500, 200 Звук 900, 250 Звук 0, 1000 Звук 900, 250 Звук 1500, 200 Звук 900, 250 Звук 2000, 500 End Sub Наша функция "Звук" имеет два параметра: частота сигнала и продолжительность в миллисекундах. Если частота = 0, тогда получим паузу.
@первый-я4ю5 жыл бұрын
@@StudyProf Е она работает спасибо)
@JackFamous5 жыл бұрын
Вот вы уроки делаете, людей учите, а переменные у вас не объявлены, типы не присвоены, Option Explicit для контроля не выставлен, зато область видимости процедуры зачем-то выставлена в публичную, хотя тут явно обычного Sub достаточно, а, учитывая, что запуск уже назначен на кнопку, можно приватный выставить, чтобы из окна макросов убрать… Приходите к нам на бесплатный форум planetaexcel - повышайте навыки)))
@StudyProf5 жыл бұрын
Здравствуйте. Тогда вы должны знать, что VBA - это язык с неявной типизацией. Это означает, что объявлять переменные и указывать их тип не обязательно, компилятор прекрасно сделает это сам. У меня не сотня переменных, чтобы ошибиться в их названии и для этого использовать Option Explicit. Относительно процедуры, вы говорите: "можно sub, а можно private sub". Вот именно, можно по-разному и как бы я не указал, вы будете мне говорить сделать иначе. Поэтому, вам лучше общаться в пределах своего форума.
@JackFamous5 жыл бұрын
Study Prof, здравствуйте. Объявление переменных - вещь, конечно, необязательная, но для обучения крайне важная. Про видимость процедуры я не докопался, как вы хотите показать. Sub - это по-умолчанию, а вот "добавки" Private или Public нужны для определенных ситуаций. В примере никакой необходимости в этом не было. Посмотрит человек ваш урок по ускорению и подумает, что так и надо делать, а это неправильно… Я-то, конечно, пойду на свой форум, но вы по-идее должны быть рады конструктивной критике, а то вам вообще нечасто пишут (это общая тенденция для обучающих видео по VBA за редким исключением Павлова) 🙂 Желаю успехов