weblio辞書というサイトから英単語の情報を取得するプログラムをExcelVBAで組んでいます。
A列に英単語、B列に「発音」という文字があるとき、B列の「発音」というセルを右クリックしたときに、Web上にあるmp3ファイルを再生できるようにしたいです。
厳密にいうとハイパーリンクを設定すればブラウザ起動で再生はできるのですが、できればブラウザを立ち上げずにmp3ファイルを再生したいのですが、可能でしょうか。
例えば、セルA2に「people」という単語が入力されているとき、セルB2の「発音」セルを右クリックすると、
URL:https://ejje.weblio.jp/content/people
からmp3ファイル(HTML以下参照)のURLを取得し、音声が流れるようにしたいです。
HTML
1(一部抜粋) 2<audio class="contentAudio" controls="controls" preload="none"> 3 <source src="https://weblio.hs.llnwd.net/e7/img/dict/kenej/audio/S-AB58A66_E-AB5A8C8.mp3" type="audio/mpeg"> 4</audio>
VBAでは以下のようなプログラムを組みました。
VBA
1Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 2 'B列を右クリックしたときのみイベント発生 3 If Target.Row > 0 And Target.Column = 2 Then 4 5 'IEを起動し、Weblioのページを非表示で開く 6 Dim objIE As InternetExplorer 7 Set objIE = New InternetExplorer 8 objIE.Visible = False 9 objIE.navigate WEBLIO_URL & "/content/" & Cells(Target.Row, 1) 10 11 'mp3ファイルのURLを取得 12 Dim sourceTags As IHTMLElementCollection 13 Set sourceTags = objIE.document.getElementsByTagName("source") 14 15 Dim srcTag As IHTMLElement 16 Dim soundSrc As String 17 For Each srcTag In sourceTags 18 soundSrc = srcTag.src 19 Exit For 20 Next 21 22 Shell "C:\Program Files\Windows Media Player\wmplayer.exe /play /close" & soundSrc 23 End If 24End Sub
URLの取得までは確認できているのですが、音声の再生まではできていません。
Web上のmp3をクライアント上で再生する場合、どのような処理を追加すればよろしいのでしょうか。
ご教示をお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/14 15:33
2020/06/14 16:04