Phát ghi chú âm thanh bằng VBA trong Microsoft Excel
Trong Excel 5 và 95, có thể đính kèm ghi chú vào ô bằng tệp âm thanh. Bản soundnote này có thể được phát lại bằng cách mở hộp thoại để chỉnh sửa các ghi chú của ô.
Macro bên dưới cũng có thể phát nốt âm thanh được gắn vào ô cho bạn:
Sub PlaySoundNotesInExcel95(CellAddress As String) ' for Excel 5 and 95 only If Not Application.CanPlaySounds Then Exit Sub On Error Resume Next ' in case there is no soundnote Range(CellAddress).SoundNote.Play On Error GoTo 0 End Sub
Excel 97 trở lên không còn hỗ trợ việc sử dụng chú thích âm thanh.
Với các macro dưới đây, có thể tạo ra một cách giải quyết để đạt được hiệu quả tương tự:
Public Declare Function sndPlaySound Lib "winmm.dll" _ Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _ ByVal uFlags As Long) As Long Sub PlayWavFile(WavFileName As String, Wait As Boolean) If Dir(WavFileName) = "" Then Exit Sub ' no file to play If Wait Then ' play sound before running any more code sndPlaySound WavFileName, 0 Else ' play sound while code is running sndPlaySound WavFileName, 1 End If End Sub Sub PlaySoundNotesInExcel97(CellAddress As String) ' workaround for playing sound notes in Excel 97 or later Dim SoundFileName As String SoundFileName = "" On Error Resume Next ' an error occurs if the cell doesn't have a note SoundFileName = Range(CellAddress).Comment.Text On Error GoTo 0 If SoundFileName = "" Then Exit Sub ' no cell note If InStr(1, SoundFileName, Chr(10)) > 0 Then ' the note contains a line-break ' use the first line as the filename SoundFileName = Left(SoundFileName, InStr(1, SoundFileName, Chr(10)) - 1) End If PlayFileWav SoundFileName, False End Sub
Cách tạo soundnote:
Chèn chú thích vào ô bằng cách nhấp chuột phải vào ô và chọn Chèn chú thích ….
Điền vào tên tệp hoàn chỉnh và đường dẫn đến tệp âm thanh sẽ được phát ở câu đầu tiên trong nhận xét ô, ví dụ: C: \ Foldername \ Soundfilename.wav.
Nếu bạn muốn thêm tin nhắn bằng văn bản ngoài tên tệp âm thanh, hãy nhấn phím ENTER sau tên tệp để tạo một câu mới trong nhận xét. Thêm văn bản bạn muốn vào câu mới.
Macro PlaySoundNotesInExcel97 có thể được kích hoạt bởi eventmacro Worksheet_SelectionChange (), điều này sẽ làm cho soundnote phát mỗi khi người dùng kích hoạt ô với soundnote.