Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 27

Сравнения данных и звуковой сигнал

10.05.2013, 16:38. Показов 3808. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пожалуйста помогите с звуковым сигналом в exel

искал ответ на вопрос, нашел здесь [ссылки на другой форум удалены].
 Комментарий модератора 
Перечитайте Правила, п. 5.8. Предупреждение!
Текст программы форматируйте с помощью тегов. Для VBA тег VB - третья кнопка справа в нижнем ряду.



питался изменить под себя, но у меня нету никаких знаний в VBA. Методом тыка не получилось, если можете подскажите что надо сделать, что б был звуковой сигнал срабатывал, когда B2>C2 и B2<D2, вплоть до B5

код такой

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszName As String, ByVal dwFlags As Long) As Long
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
'-------------------------------------------------------------------------------------------------
 
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect([A1:A2], Target) Is Nothing Then
    If [A1] <> "" And [B2] < [C2] Then
      'mciExecute ("Play C:\Windows\Media\tada.wav")
      Call sndPlaySound("C:\Windows\Media\tada.wav", 1)
    End If
  End If
End Sub
В файле уже готовое условие
Вложения
Тип файла: xls Alarme.xls (29.5 Кб, 25 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.05.2013, 16:38
Ответы с готовыми решениями:

Звуковой сигнал при добавлении новой записи в Базу Данных
Добрый день. Есть сайт, на котором зарегистрированные пользователи могут писать друг другу личные сообщения. Существует таблица users...

Звуковой сигнал
Иногда в нагрузке компьютер подвисает на секунду, выдает звуковой сигнал из динамиков и продолжает работать. Подскажите в чем может быть...

звуковой сигнал
Скажите как добавить звуковой сигнал при нажатии кнопки? как прописать путь к звуковому файлу?

15
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
10.05.2013, 16:59
Этот код контролирует диапазон [A1:A2] - и оно работает!
0
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 27
10.05.2013, 17:05  [ТС]
Цитата Сообщение от Hugo121 Посмотреть сообщение
Этот код контролирует диапазон [A1:A2] - и оно работает!
да код работает я скопировал его ссылка в 1м сообщении, а как его переделать под мое условие?
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
10.05.2013, 17:12
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszName As String, ByVal dwFlags As Long) As Long
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r&
    If Not Intersect([B2:D5], Target) Is Nothing Then
        r = Target.Row
        If Range("B" & r) > Range("C" & r) And Range("B" & r) < Range("D" & r) Then
            'mciExecute ("Play C:\Windows\Media\tada.wav")
            Call sndPlaySound("C:\Windows\Media\tada.wav", 1)
        End If
    End If
End Sub
1
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 27
10.05.2013, 17:33  [ТС]
Спасибо, а как его запустить что б он работал?
я ввел его в окно Alt+F11, но при изменении ячеек, нету звука
звуковой файл присутствует на компьютере в указанном месте
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
10.05.2013, 18:01
Первым делом убедитесь, что код вообще срабатывает - поставьте точку останова на первой строке (If Not Intersect...) и затем меняйте значения в контролируемом диапазоне (в ([B2 : D5]).
Если попадаете в редактор - значит уже хорошо, можно гнать далее по F8 и анализировать.
Может быть значения не проходят проверку, может быть проблема с воспроизведением звука/с библиотеками и т.д.
У меня кстати проигрывают звук обе строки (и та закомментированная тоже).
Если же не срабатывает на событие вообще - тогда или отключены макросы, или отключены события.
0
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 27
11.05.2013, 01:02  [ТС]
удалось запустить но появилась ошибка(
http://imageshack.us/a/img823/8651/erorx.th.png
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
11.05.2013, 15:39
Судя по ошибке - у Вас где-то 64 бита, у меня такого нет, поэтому точно ответ не скажу, что нужно сделать.
Может там и нет таких библиотек, а может достаточно сделать как тут описано:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ZVI
 
14.11.2012, 04:31   
Вот так должно работать и в 32 и в 64-битных версиях:
 
#If Win64 Then
Private Declare PtrSafe Function GetProfileString Lib "kernel32" _
Alias "GetProfileStringA" (ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long) As Long
#Else
Private Declare Function GetProfileString Lib "kernel32" _
Alias "GetProfileStringA" (ByVal lpAppName As String, _
ByVal lpKeyName As String, ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long) As Long
#End If
 
Специальное декларирование API-функций требуется, только если установлена 64-битная версия Excel. Для сочетания Win(64бит) + Excel(32бит) этого не требуется.
0
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 27
13.05.2013, 14:26  [ТС]
Hugo121, извините был в деревне там нет доступа к интернету. Эту формулу надо вставить перед пищалкой, я правильно вас понял?
0
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 27
13.05.2013, 15:20  [ТС]
Hugo121, установил обычный 32битный офис, не работает пищалка, можете посмотреть в чем именно проблема?
Вложения
Тип файла: xls Alarme.xls (52.5 Кб, 16 просмотров)
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
13.05.2013, 15:59
У меня на всех 32х работает. Только я сперва удалил код из стандартного модуля, ну и подобрал такие значения, чтоб срабатывала строка Call sndPlaySound()

Добавлено через 10 минут
Хотя проверил - код в модуле не мешает. Но не нужен - поэтому его нужно удалить.
0
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 27
13.05.2013, 18:32  [ТС]
Цитата Сообщение от Hugo121 Посмотреть сообщение
У меня на всех 32х работает. Только я сперва удалил код из стандартного модуля, ну и подобрал такие значения, чтоб срабатывала строка Call sndPlaySound()

Добавлено через 10 минут
Хотя проверил - код в модуле не мешает. Но не нужен - поэтому его нужно удалить.
удалось запустить!!!
я наконец то понял как оно работает, спасибо)))

а можно заблокировать? что б сигнал срабатывал только однажды когда температура добралась к нашим значениям, я запустил там температура изменяется 1 рас в секунду и все время пищит)))
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
13.05.2013, 20:43
Ну в общем можно - или публичную переменную объявите, или куда-то на лист метку ставьте. Ну и эту переменную/метку используйте как флаг пищать/не_пищать.
Только продумывать логику думаю нужно Вам самому...
Я бы вероятно сделал метку на листе и кнопку сброса - при первом срабатывании ставим метку и пищим (сперва конечно проверяем, нет ли уже метки). Ну а кнопкой стираем метку. Метку можно прятать под кнопкой
0
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 27
13.05.2013, 21:08  [ТС]
Hugo121, мне очень помог kalbasiatka с форума, он сделал все работает. Посмотрите пожалуйста на вложенный файл.
Пищалка идеально работает, если вводить цифры вручную. Но почему-то когда подключаю к программе через =ДРВ, там изменяется все динамически (кажется так это называется) о не пищит когда доходит до нужной температуры.
Можете посмотреть на вложения и что то подсказать?
Вложения
Тип файла: xls Alarme2..xls (28.0 Кб, 20 просмотров)
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
13.05.2013, 21:31
Ну если это получение по DDE - то были темы. ZVI делал ZVI_DDE_02.xls через Workbook.SetLinkOnData Method - но как-то сложно, я не проникся...
Самое простое решение - завязать на такие ячейки другие формулы и ловить событие их пересчёта. Например считать среднее по всем этим ячейкам, или сумму.
Или поставить невидимые текстбоксы, завязанные на эти ячейки - у текстбоксов есть событие изменения, вот по нему и проводить анализ.
Т.к. у меня к этой теме нет практического интереса, и потестить негде - то я в общем пас.
Да и кода тогда довольно много думаю писать придётся - надож как-то отловить, какая ячейка изменилась, ну или как вариант всегда проверять условия по всем строкам по любому изменению в диапазоне - так вероятно будет проще сделать.
1
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 27
13.05.2013, 21:40  [ТС]
спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.05.2013, 21:40
Помогаю со студенческими работами здесь

Звуковой сигнал
Всем привет! При вставке новой записи в таблицу БД на компе должно срабатывать звуковое оповещение (проигрываться мелодия или просто...

Звуковой сигнал!
#include &lt;ctime&gt; #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;string&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include...

Не подается звуковой сигнал
В общем, должен написать будильник, основную часть сделал, но не подается звуковой сигнал по наступлении заданного времени, скорее всего...

Звуковой сигнал биппера! (C++)
Здравствуйте, у меня такая проблема, как заставить биппер подать голос! cout &lt;&lt; &quot;\a\a\a\a\a\a\a\a\a\a\a\a\a\a&quot;...

Постоянный звуковой сигнал
Все привет!!! У меня такая проблема: Сгорел БП, поменял на новый, все подсоединил, включил, а Комп издает постоянный звуковой сигнал,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru