Programarea pe VBA în biroul Microsoft


Programarea pe VBA în Microsoft Office.
Fișier audio player

Aici vom arunca o privire la cel mai simplu exemplu de utilizare a multimedia în aplicații în Visual Basic for Applications - redarea fișierelor WAV. Scorurile explicite ale evenimentelor din programul de aplicații atrag atenția utilizatorilor și sporesc interesul lor de a lucra cu acest program. Rămâne de învățat cum să faceți acest lucru.

Acum, în fereastra textului sursă vom programa.

Redarea simplă a sunetului este efectuată de către funcția WinAPI PlaySound. Versiunea pe 32 de biți din Win32API se numește PlaySoundA. Acesta poate reda fișiere WAV, toate evenimentele înregistrate de sistem și resursele din fișierele EXE și DLL. Descrierea sa este după cum urmează:

Funcția privată Declarație playSound Lib "winmm.dll" _

Alias ​​"PlaySoundA" (ByVal lpszSoundName ca șir, _

ByVal hMod la fel de lung, ByVal uFlags la fel de lung), atâta timp

Parametrii: lpszSoundName - numele evenimentului sistemului de fișier WAV sau o resursă, pentru a fi jucat, hMod - sursa de redare. Dacă sursa - eveniment fișier sau sistem, hMod = 0, iar dacă sursa - o resursă dintr-un fișier EXE sau DLL, hMod trebuie să conțină o trimitere la resursa de memorie încărcată. uFlags - opțiuni de redare.

Dacă doriți să redați fișierul, trebuie să setați pavilionul SND_FILENAME. În cazul în care evenimentul sistemului, atunci - SND_ALIAS. Dacă evenimentul sau fișierul specificat nu există, funcția redă un sunet corespunzător erorii sistemului.

steaguri suplimentare indică: SND_SYNC - redare sincron (așteaptă aplicații pentru redarea audio și apoi continuă să funcționeze), SND_ASYNC - redare asincron (cerere nu așteaptă finalizarea sunetului de redare, și în paralel continuă să lucreze), SND_NODEFAULT - în cazul unei erori (fișier nu a fost găsit), nu este redat sunetul standard, SND_NOWAIT - dacă driverul plăcii de sunet este ocupat, nu așteptați eliberarea.

Descrierea celorlalte proprietăți și metode ale clasei.

"Stochează numele ultimului fișier care a fost redat

Private PlayFileName ca șir

"Stochează numele ultimului eveniment care a fost pierdut

PlaySysMsgAlias ​​private ca șir

'Opriți redarea sunetului curent

Funcția publică PlayStop () ca booleană

Apel playSound ("", 0, SND_NODEFAULT)

"Proprietatea virtuală - când este atribuită

'Sunetul fișierului WAV este redat

Proprietatea Let PlayFile (ByVal strWAVFileName ca șir)

Apel playSound (strWAVFileName, 0, _

SND_ASYNC SAU SND_NODEFAULT _

Sau SND_FILENAME sau SND_NOWAIT)

"Proprietatea virtuală - se întoarce când este citită

"Numele ultimului fișier care a fost redat

Proprietate Ia PlayFile () ca String

"Când atribuie un nume

Evenimentul are un sunet

Imobiliare Let PlaySys (ByVal strSysMsgAlias ​​ca șir)

Call playSound (strSysMsgAlias, 0, SND_ASYNC sau SND_NODEFAULT Or SND_ALIAS)

"Returnează numele ultimului pierdut

Proprietate Obțineți PlaySys () ca String

Adăugați un buton pentru a reda fișierul și faceți dublu clic pe formular; accesați fereastra de editare pentru textul sursă al formularului.

În secțiunea de descriere, adăugați linia:

Dim SNDPlayer As SoundPlayer "este un obiect de tip SoundPlayer

"Metoda de inițializare a formularului va arăta deja astfel:

Private Sub UserForm_Initialize ()

'Crearea unei instanțe a unui obiect

Setați SNDPlayer = noul SoundPlayer

Setați dlgFiler = New dlgFileOpen

"Metoda de procesare a evenimentelor - presare

Butoane de redare audio

Private Sub CommandButton1_Click ()

Salvați programele tastate, accesați foaia de calcul Excel și faceți clic pe butonul de pornire a formularului. Faceți clic pe butonul de selectare a fișierului și specificați un fișier WAV. Numele complet va apărea în câmpul de introducere a formularului. Acum, apăsați butonul de redare și bucurați-vă cât mai mult de lucrarea creației voastre.

Pentru a realiza un control sporit asupra redării audio, de exemplu, reda un sunet la intervale de 2 minute 4.52 secunde la secunde, oprire aleatoriu de redare, pauză și continua redarea etc. trebuie să mergem invers. Este necesar să programați funcționarea aplicației cu ajutorul multimedia prin intermediul MCI (Media Control Interface), pe care o vom face în continuare.

a continua ...

Articole similare