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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2009, 22:18   #1
Дмитрий 666
 
Регистрация: 01.12.2009
Сообщений: 3
По умолчанию Проблема со звуком.

Добрый день. Есть макрос на воспроизведение звука при совпадении чисел в ячейках. Но при забивании их туда с клавиатуры всё работает, а если они туда транслируются программой- звука нет.

Текст:

Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([G24:H24], Target) Is Nothing Then
If [G24] <> "" And [G24] = [H24] Then
mciExecute ("Play C:\Windows\Media\ding.wav")
End If
End If
If Not Intersect([J24:K24], Target) Is Nothing Then
If [J24] <> "" And [J24] = [K24] Then
mciExecute ("Play C:\Windows\Media\tada.wav")
End If
End If
End Sub

В чём причина- понять не могу.
Дмитрий 666 вне форума Ответить с цитированием
Старый 01.12.2009, 23:07   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

В приведенном коде - все нормально, а в той процедуре, которая вносит новые данные в ячейке не запрещены-ли случайно события? (Application.EnableEvents = False)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 01.12.2009, 23:16   #3
Дмитрий 666
 
Регистрация: 01.12.2009
Сообщений: 3
По умолчанию

Да процедура простая. Жму "=", выделяю ячейку, жму "enter". В идеале на другом листе. Но хотя бы на этом..
Дмитрий 666 вне форума Ответить с цитированием
Старый 01.12.2009, 23:24   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Посмотрите пример в этом сообщении
EducatedFool вне форума Ответить с цитированием
Старый 01.12.2009, 23:34   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

если вносить изменения за пределами [G24:H24] или [J24:K24] листа, к которому привязана процедура Private Sub Worksheet_Change, или просто на других листах, ничего и не должно происходить, как написано. Поставьте в начале процедуры точку останова, посмотрите срабатывает ли вообще Private Sub Worksheet_Change и кто есть Target в этот момент... равны ли между собой G24 и H24 или J24 и K24, соответственно...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 01.12.2009, 23:42   #6
Дмитрий 666
 
Регистрация: 01.12.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
если вносить изменения за пределами [G24:H24] или [J24:K24] листа, к которому привязана процедура Private Sub Worksheet_Change, или просто на других листах, ничего и не должно происходить, как написано. Поставьте в начале процедуры точку останова, посмотрите срабатывает ли вообще Private Sub Worksheet_Change и кто есть Target в этот момент... равны ли между собой G24 и H24 или J24 и K24, соответственно...
Извиняюсь, я в VBA пока чайник. Можно по буквам?
Что такое "точка останова"?
Значения в ячейки транслируются правильно. Равенство присутствует.
Как узнать срабатывает или нет "Private Sub Worksheet_Change"? При ручном вводе звуки есть.
Дмитрий 666 вне форума Ответить с цитированием
Старый 02.12.2009, 00:12   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

клацнул мышом по серой полоске левее кода - строка стала красной, это и есть breakpoint. Дальше жмите F8, будет выполняться строка за строкой, можно посмотреть значение переменных... все долго обьяснять
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема со звуком. Live4Dead Софт 7 21.04.2010 21:36
Проблема со звуком. SMUT Компьютерное железо 8 27.11.2009 01:55
Проблема со звуком Deffex Мультимедиа в Delphi 1 02.11.2009 08:20
Проблема со звуком ! Аверьянов Компьютерное железо 29 04.03.2009 10:32
Проблема со звуком.Регулировка громкости 2-D Операционные системы общие вопросы 3 14.02.2009 09:32