Я пытаюсь запустить звук, щелкая элемент управления формой в Excel 11. Обработчик события click пытается воспроизвести звук с помощью sndPlaySound32, если он находит определенный текст в буфере обмена.
Я объявил функцию sndPlaySound32 и вызываю ее (упрощенно)
whatSound$ = "C:\WINDOWS\Media\Office97\Drop.wav"
sndPlaySound32 whatSound$, &H0
Пока Excel является приложением, когда я нажимаю на элемент управления, все работает нормально и воспроизводится звук (если целевой текст найден в буфере обмена), но если я перенесу текст в буфер обмена из другого приложение, такое как Блокнот, где Excel не является фронтальным приложением, когда происходит щелчок, тогда первый щелчок на элементе управления не производит никакого звука. Последующие клики работают нормально. Другие события в форме не имеют проблем с этим и продолжают нормально реагировать на первый щелчок.
Как заставить звук воспроизводиться при первом щелчке элемента управления, если Excel не является фронтальным приложением?
Изменить 25.11.10:
Я не могу заставить форум Комментарии работать. Я нажимаю Добавить комментарий, но мои комментарии не отображаются, так что это ответ на Boost.
Я думаю, что это нечто более глубокое, чем просто вывести Excel на первый план одним щелчком, потому что есть несколько других действий, которые успешно запускаются при первом щелчке элемента управления (пока впереди другое приложение), и они все работает просто отлично. Только playSound не работает до последующих кликов.
Я попытался переместить команду playSound как в начало, так и в конец списка других действий (например, изменение шрифта, изменение размера текста и т. Д.), Которые должны выполняться при каждом щелчке, а также попытался поместить задержки в различные места, но нет радости. Если я прошагаю по коду, процедура playSound будет правильно вызвана при первом щелчке, но не издаст звука.