Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2009, 22:43   #1
sergiksergik
Пользователь
 
Аватар для sergiksergik
 
Регистрация: 25.01.2009
Сообщений: 81
По умолчанию Звук по окончанию макроса.

Подскажите как сделать что бы по окончанию выполнения макроса прозвучал звук.
Видел здесь тему что можно использовать динамик встроенный. Как сделать?

Спасибо...
sergiksergik вне форума Ответить с цитированием
Старый 14.06.2009, 23:02   #2
tolikman
Форумчанин
 
Регистрация: 25.08.2008
Сообщений: 159
По умолчанию

не обязательно динамик, если стоят дрова на звук то прозвучит стандартный звук windows:
просто
Код:
Beep
tolikman вне форума Ответить с цитированием
Старый 14.06.2009, 23:14   #3
sergiksergik
Пользователь
 
Аватар для sergiksergik
 
Регистрация: 25.01.2009
Сообщений: 81
По умолчанию

Ну а если нет динамиков внешних....?
sergiksergik вне форума Ответить с цитированием
Старый 15.06.2009, 05:19   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Видел здесь тему что можно использовать динамик встроенный. Как сделать?
Так там же есть пример кода...
http://www.programmersforum.ru/showp...05&postcount=3

Многое зависит от того, какая ОС установлена.
http://www.programmersforum.ru/showp...86&postcount=8
EducatedFool вне форума Ответить с цитированием
Старый 15.06.2009, 20:09   #5
sergiksergik
Пользователь
 
Аватар для sergiksergik
 
Регистрация: 25.01.2009
Сообщений: 81
По умолчанию

Я читал и раньше эту тему.... но не знаю что именно добавить в конец макроса.. что бы по окончанию сигналило...
sergiksergik вне форума Ответить с цитированием
Старый 15.06.2009, 20:46   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

1) В стандартный модуль добавьте строку
Код:
Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
2) В конец макроса поставьте команду Beep 100, 100
(ну или Beep 440, 500 - попробуйте разные значения частоты и длительности)

PS: Если в стандартный модуль Вы помимо строки Declare Function Beep...
добавите макрос
Код:
Sub beeps(melody As String, Optional ByVal BeepTime As Integer = 200)
    mr = "qazwsxedcrfvtgbyhnujmik,ol.p;/['"
    For i = 1 To Len(melody)
        DoEvents: nextlen = 1: letter = Mid$(melody, i, 1): nota = InStr(1, mr, letter)
        If IsNumeric(letter) And letter > 0 Then
            nextlen = letter: i = i + 1: nota = InStr(1, mr, Mid$(melody, i, 1))
        End If
        If nota > 0 Then
            tone = 220 * (2 ^ ((nota - 1) / 12)): a = Beep(tone, nextlen * BeepTime)
        Else
            a = Beep(30000, nextlen * BeepTime / 5)
        End If
    Next
End Sub
то сможете легко воспроизводить целые мелодии:
Код:
Sub BeepH2(): beeps "k,k", 100: End Sub

Sub melody1(): speed = 150
    beeps "5 5 3jnybt tybtftdx2d", speed: beeps "5 5 3jnybt tybtftdx2d", speed
    beeps "5 5 nnnyc3 ct2j nyc2 ty2btff ftf2t", speed: beeps "5 5 nnnyc3 ct2j nyc2 ty2btff ftf3 yb2t", speed
End Sub
В данном случае раскладка клавиатуры соответствует клавишному ряду баяна
(обратите внимание на строку mr = "qazwsxedcrfvtgbyhnujmik,ol.p;/['")
EducatedFool вне форума Ответить с цитированием
Старый 15.06.2009, 21:50   #7
sergiksergik
Пользователь
 
Аватар для sergiksergik
 
Регистрация: 25.01.2009
Сообщений: 81
По умолчанию

Огромное спасибо....
sergiksergik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск макроса с параметрами из другого макроса Saladin Microsoft Office Excel 2 19.01.2009 09:43
Звук L_M Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 03.06.2008 23:50
Звук xakkkkker Мультимедиа в Delphi 4 05.05.2008 08:13
звук и делфи, левый правый звук snusmumric Win Api 2 29.10.2007 11:10
Группировка по окончанию строки Remein Microsoft Office Excel 2 13.09.2007 11:39