Microsoft ExcelでVBAを使用してサウンドのノートを演奏
Excel 5および95では、サウンドファイルを使用してセルにメモを添付することができます。このサウンドノートは、セルノートを編集するためのダイアログを開くことで再生できます。
以下のマクロは、セルに添付された音符を再生することもできます:
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以降では、サウンドノートの使用はサポートされなくなりました。
以下のマクロを使用して、同じ効果を達成するための回避策を作成することができます。
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:\ Foldername \ Soundfilename.wav。
音声ファイル名に加えてメッセージを追加する場合は、ファイル名の後にEnterキーを押して、コメントに新しい文を作成します。必要なテキストを新しい文に追加します。
マクロPlaySoundNotesInExcel97は、eventmacro Worksheet_SelectionChange()によってアクティブ化できます。これにより、ユーザーがサウンドノートでセルをアクティブ化するたびにサウンドノートが再生されます。