2015-12-02 5 views
0

Я пытаюсь сделать что-то немного простое, но это происходит из-за того, что я не знаю, как исправить. У меня есть форма в VBA, и я хочу воспроизвести звук при загрузке (это настраиваемое окно ошибок). Я пытаюсь со следующим событием:Запустите макрос VBA при загрузке от

Private Sub UserForm_Activate() 
    sndWarning 
End Sub 

Он воспроизводит звук, но при игре форма становится пустой, пока звук не закончится. Что мне не хватает?

+1

Вы должны играть звук асинхронно. Каков код вашей функции sndWarning? –

+0

'sndPlaySound32 "C: \ Plantillas Word \ error.wav", 0 &' Вызывается из 'Public Declare Function sndPlaySound32 Lib "Winmm.dll" Alias ​​"sndPlaySoundA"(_ ByVal lpszSoundName As String, ByVal uFlags As Long) As Long' –

+1

Измените второй параметр из 0 & (что означает синхронный) на 1 и (асинхронный). См. Http://www.cpearson.com/excel/PlaySound.aspx для других доступных значений. –

ответ

0

Как сказал @Vincent, изменение второго параметра разрешает вопрос. Спасибо dude