[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シートに埋め込んだWavファイルを鳴らすには』(Dr.Uroko)
外部アプリ(メディアプレイヤ)などを使用しないで「チロリ〜ン」などの音を出したいので「検索」で調べ、
[[20050630005719]]に対する(kazu)さんのご回答でひとまず実現しましたが、ある参考書に「シートに埋め込んだWavファイルを鳴らす」ためのVBAの記述が次のように記載されていました。この方法が簡単なようですれけど、Wavファイルをシートに埋め込む方法が分かりません。どなたか教えて下さい。
ActiveSheet.OLEObjects("ok").Verb
( "ok" : 埋め込んだWavファイル名と思いますが。)
Excel2000, WindowsXP(SP2)
**外部アプリ(メディアプレイヤ)などを使用しないで「チロリ〜ン」などの音を出したいので
ですが、
ActiveSheet.OLEObjects("ok").Verb ( "ok" : 埋め込んだWavファイル名と思いますが。)
この方式でも外部アプリは使われていますよ!!(sndrec32.exe というプログラムです)
このサウンドレコーダーで「編集」---「ファイルの挿入」とクリックして、
Wavファイルを指定すると、上記のコードで演奏してくれそうですよ!!
VBAでやるなら Sendkeysを使う方法しか思いつきませんでしたが・・・。
メディアプレーヤーコントロールを使うことを検討してみてください!!
扱いが簡単ですから・・・。
それでもこだわるなら、APIですが・・・、
標準モジュールに
'===========================================================
Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Sub main()
Dim wavfile As String wavfile = "D:\My Documents\My Music\aaa.WAV" sndPlaySound wavfile, 1 ' ↑ここの数字の意味は検索すればわかると思います End Sub
試してみてください。
ichinose
いいえ、それは見えていないだけです。タスクマネージャーのプロセスを観察していれば、
sndrec32.exe が起動しています。でも、
が目的なら・・・。
Sub Macro1()
ActiveSheet.OLEObjects.Add Filename:= _ "D:\aaa\bbb.WAV", Link:=False, DisplayAsIcon:=False
End Sub
で可能でした。
手動操作でも
・ 「挿入」----「オブジェクト」とクリックし、オブジェクトの挿入 ダイアログを表示させます。
・ 「ファイルから」タブを選択し、参照ボタンをクリックして、ここで挿入したいWavファイルを
選択します。
これで設定完了です。
ichinose@トイレに起きた
やりたいことがはっきりわかりませんが 下記で,コード上にWAVファイルを記載しておいて,マクロを実行すれば音がでます。 実際には,シート状に埋め込んで音を鳴らして,その後埋め込んだものを消しています。 (夕焼)
Sub 音だけ鳴らす()
objcount = ActiveSheet.OLEObjects.Count
ActiveSheet.OLEObjects.Add Filename:= _ "D:\bbb.WAV", Link:=False, DisplayAsIcon:=False ' <−−−−ここにファイルを記載指定する
ActiveSheet.OLEObjects(objcount + 1).Select
Selection.Verb Verb:=xlPrimary
ActiveSheet.OLEObjects(objcount + 1).Delete ’ 削除でシートに埋め込みされます。
End Sub
次は,シート上に予め沢山WAVファイルを埋め込んでおいてそのアイコン(図)を選んで, 選んだアイコンの音を鳴らします。
Sub 選んで音を鳴らす()
sname = Selection.Name
ActiveSheet.OLEObjects(sname).Select Selection.Verb Verb:=xlPrimary
End Sub
>ExcelVBAで作ったプログラムを別のPCにて使用する際、Wavファイルも一定のディレクトリにコピ ーする必要があると思います。シートにWavファイルを埋め込んでおけば、このような処置は不要で はないかと考えたのでした。
このことは正しいようですね。 上のマクロで,元のフォルダ内のファイルを消して,シート上のアイコン(図)の一つを選んで 実行したら音がでました。 シートの画像を貼り付けると,元データがなくても,EXCELデータだけで画像が表示されると いうことと同じようですね。(夕焼)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.