excelのセルに英単語の音声ファイル(.wav)をリンク(HYPERLINK)させ、
クリックすれば発音する、というシートを作成しています。

もともとexcel2000で作っていたのを2007に移行しただけです。

■質問ですが、excel2000だとクリックしたらそのまま音声が再生されたのですが、
excel2007だと、wavファイルに関連づけられている再生アプリが起動し(たとえば、メディアプレイヤーなど)、そこから音声がなります。

いちいちアプリが起動するのはわずらわしいので、excel2000のようにexcelだけで再生できないかと悩んでいます。

知識のあるかた、ご教授ください。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

Excel自体には再生機能はありません。


検索したら、下記のようなVBA+αを使った方法がありました
サウンドを再生する → APIを使う方法
http://officetanaka.net/excel/vba/tips/tips22.htm
で対応できそうです(当方、XL2003/WindowsVista)

添付図はコントロールツールボックス(開発タブ)のコントロールの選択を試してみたところ
「excel2007で音声ファイル再生」の回答画像1
    • good
    • 0
この回答へのお礼

助かりました!!
質問してよかったです
ありがとうございました

お礼日時:2011/04/17 13:50

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelでハイパーリンクでMP3ファイルを開きたい。でも問題が...

Excel2002で、ハイパーリンクを使ってセルのクリックでwavファイルが再生されるようにしています。同様の手法でmp3ファイルも再生されるようにしたいのです。
でもwavファイルのときは何も表示されなかったのに、mp3ファイルだとMedia Playerが立ち上がってしまいます。これが立ち上がらないように利用できないものでしょうか。

Aベストアンサー

質問を取り違えていたら、すみません。。。

コントロールパネルのフォルダーオプションを開きます。
ファイルの種類のタブを押すと、拡張子とファイルの種類の一覧が出てきます。

WAVとMP3のところを探してみてください。
MP3は、Media Playerになってると思われますが、WAVは違ってるのではないでしょうか?

もしそうなら、MP3を削除、または変更してWAVと同じものにすれば、いいと思いますが、問題が。。。
そのWAVを再生するアプリケーションがMP3に対応していないと、開けません。

QVBAでwaveを再生する方法

こんばんは。
質問を読んでいただきありがとうございます。

EXCEL2003のVBAでボタンを押すとwave音源の再生されるようにしたいのですがが、さっぱり分かりません。
どうかアドバイスをお願いします。

Aベストアンサー

>wave音源
wave音源とはwavファイルのことですか?
もし違ったらこの回答は無視してください。(^^;

音楽再生用の関数作ってあるので良かったら使ってください。
(wav,mid,wma,mp3の再生が出来ます。)


mciPlay("c:\temp\test.wav") で再生
mciStop("c:\temp\test.wav") で停止

----以下ソース----
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Public Declare Function GetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" _
(ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, _
ByVal cchBuffer As Long) As Long

Sub mciPlay(fn As String)
 Dim rc As Long
 If Dir(fn) <> "" Then
  rc = mciSendString("Play " & ApiGetShortPathName(fn), "", 0, 0)
 End If
End Sub

Sub mciStop(fn As String)
 Dim rc As Long
 If Dir(fn) <> "" Then
  rc = mciSendString("Stop " & ApiGetShortPathName(fn), "", 0, 0)
 End If
End Sub

Function ApiGetShortPathName(lPath As String) As String
 Dim strShortPath As String * 255
 Dim lngRet As Long
 Dim lngSiz As Long
 
 lngSiz = Len(strShortPath)
 lngRet = GetShortPathName(lPath, strShortPath, lngSiz)
 ApiGetShortPathName = Left(strShortPath, InStr(strShortPath, Chr(0)) - 1)
End Function
----以上ソース----

>wave音源
wave音源とはwavファイルのことですか?
もし違ったらこの回答は無視してください。(^^;

音楽再生用の関数作ってあるので良かったら使ってください。
(wav,mid,wma,mp3の再生が出来ます。)


mciPlay("c:\temp\test.wav") で再生
mciStop("c:\temp\test.wav") で停止

----以下ソース----
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, ...続きを読む

QVBAでMP3を鳴らしたい

vbaについて質問です。

MP3ファイルを鳴らしたいのですがうまくいきません。

---------------------------------------------------------
Sub Macro1()
Dim SoundFile As String
SoundFile = "C:\終了音.mp3"
If Dir(SoundFile) = "" Then
MsgBox SoundFile & vbCrLf & "がありません。", vbExclamation
Exit Sub
End If
Shell "mplay32.exe /play /close " & SoundFile
End Sub
---------------------------------------------------------
を実行すると、
「Shell "mplay32.exe /play /close " & SoundFile」
の部分で
実行時エラー53
ファイルが見つかりません。
になります。

しかし、

If Dir(SoundFile) = "" Then
MsgBox SoundFile & vbCrLf & "がありません。", vbExclamation
Exit Sub
End If

の部分では問題ないので、ファイルはある事になってると思うのですが、
なぜ「Shell "mplay32.exe /play /close " & SoundFile」の部分でエラーになるのでしょうか?

スペックは、エクセル2007、windows7です。
ご回答よろしくお願いします。

vbaについて質問です。

MP3ファイルを鳴らしたいのですがうまくいきません。

---------------------------------------------------------
Sub Macro1()
Dim SoundFile As String
SoundFile = "C:\終了音.mp3"
If Dir(SoundFile) = "" Then
MsgBox SoundFile & vbCrLf & "がありません。", vbExclamation
Exit Sub
End If
Shell "mplay32.exe /play /close " & SoundFile
End Sub
---------------------------------------------------------
を実行すると、
「Shell "m...続きを読む

Aベストアンサー

まずは、当方の環境説明。
Windows7 64bit ,Office 2010 32bit

Wmplayer.exe について
検索すると二つ見つかりました。イミディエイトウィンドウでの確認だけですが
shell ("C:\Program Files\Windows Media Player\wmplayer.exe " & "C:\Windows\Media\tada.wav")
shell ("C:\Program Files (x86)\Windows Media Player\wmplayer.exe " & "C:\Windows\Media\tada.wav")
どちらでも、働きました。
/play /close オプションは有っても無駄なだけですので入れてません。
音楽ファイル名にスペースが含まれる場合は
shell ("C:\Program Files\Windows Media Player\wmplayer.exe " & """C:\Users\Public\Music\Sample Music\Sleep Away.mp3""")
のように。

APIを使用する場合。
標準でMP3ファイルが無いかなと探したら有りましてので・・。
以下をがばっと標準モジュールに貼り付けてみてください。

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Sub PlaySound()
  Dim SoundFile As String, rc As Long
  SoundFile = "C:\Users\Public\Music\Sample Music\Sleep Away.mp3" '多分有るかと?
  
  If Dir(SoundFile) = "" Then
    MsgBox SoundFile & vbCrLf & "がありません。", vbExclamation
    Exit Sub
  End If
  SoundFile = Chr(34) & SoundFile & Chr(34) 'スペース対策
  
  rc = mciSendString("Open " & SoundFile, "", 0, 0)
  rc = mciSendString("Play " & SoundFile, "", 0, 0)
  'rc = mciSendString("Play " & SoundFile & " wait", "", 0, 0)
  '↑演奏が終わるまで処理が返ってこないので没
  'rc = mciSendString("Close " & SoundFile, "", 0, 0)
  If rc <> 0 Then
    MsgBox rc & " ?のエラーです"
  End If

End Sub

Sub CloseSound()
  Dim SoundFile As String, rc As Long
  SoundFile = "C:\Users\Public\Music\Sample Music\Sleep Away.mp3"
  
'  If Dir(SoundFile) = "" Then
'    MsgBox SoundFile & vbCrLf & "がありません。", vbExclamation
'    Exit Sub
'  End If
  SoundFile = Chr(34) & SoundFile & Chr(34)
  
'  rc = mciSendString("Open " & SoundFile, "", 0, 0)
'  rc = mciSendString("Play " & SoundFile, "", 0, 0)
  'rc = mciSendString("Play " & SoundFile & " wait", "", 0, 0)
  '↑演奏が終わるまで処理が返ってこないので没
  rc = mciSendString("Close " & SoundFile, "", 0, 0)
End Sub

これで、とりあえずは演奏・終了が出来ると思います。(要らないコメントは適当に)
どうやって音楽ファイルPathをモジュールに渡すか・・は
考えてみてください。

とっても参考になったところ(私自身、APIは門外漢です)VB6の話ですけど。
http://homepage1.nifty.com/rucio/main/technique/teq_1.htm

>エラーになりませんが、音楽も演奏されません
は前回回答の田中氏の
「・・いきなりPlayしていたのが原因かも・・」だと思います。

蛇足。
Wmplayer.exe が自動的に消えてくれないなら、いっそのこと
WorksheetにActiveX コントロールの、『Windows Media Player』を張り付けて
WorkSheetのダブルクリックイベントなどに
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Me.WMP.URL = Target.Value
Cancel = True
End Sub
とか・・でも。Target に音楽ファイルのフルパスがあると仮定。
※WMPは当方で付けたオブジェクト名です。デフォルトだと、WindowsMediaPlayer1
になりました。

まずは、当方の環境説明。
Windows7 64bit ,Office 2010 32bit

Wmplayer.exe について
検索すると二つ見つかりました。イミディエイトウィンドウでの確認だけですが
shell ("C:\Program Files\Windows Media Player\wmplayer.exe " & "C:\Windows\Media\tada.wav")
shell ("C:\Program Files (x86)\Windows Media Player\wmplayer.exe " & "C:\Windows\Media\tada.wav")
どちらでも、働きました。
/play /close オプションは有っても無駄なだけですので入れてません。
音楽ファイル名にスペースが含まれる場合は
...続きを読む

QExcelのセルに直接音声録音することは出来ますか

 
Excelのセルに直接音声録音し、録音音声を保存することは出来ますか。
またWORD2010の表のセルに直接音声録音し、録音音声を保存することは出来ますか。
 

Aベストアンサー

「セルに」は無理です。
セルというオブジェクトには音声情報を持たせることができないからです。

別のオブジェクトしてExcelファイル内に保存し、ファイルを開いたときにあたかもそのセル内にあるように配置することは可能です。
□■ Excel裏ワザ38: シート内に音声ファイルを挿入したい
http://note.chiebukuro.yahoo.co.jp/detail/n109746

Qエクセル関数のHyperLinkでの警告

エクセル関数のHyperLinkを設定してmp3の音楽ファイルを聞けるようにしたのですが、「・・・ファイルには、ウィルスやコンピューターに問題を起こす・・・・」との添付の警告が毎回出ます。自分で作った関数なので間違いがないので、この煩わしい警告が出ないようにしたいと思っています。エクセルのセキュリティ関連の設定をいろいろと弄ってみましたが、変わりません。どなたかこれを出ないようにする方法をお教えください。

Aベストアンサー

これで解決できるかも?
2007 Office プログラムおよび Office 2010 プログラムでハイパーリンクの警告メッセージを有効または無効にする方法
http://support.microsoft.com/kb/925757/ja

上記方法を試したわけではありません。
出来たとしても、ややこしそうです。
今後、OSの再インストールをする羽目になることが有るかもしれませんが
その頃にはすっかり忘れてしまっていそうです。

私の場合は、セルにハイパーリンクを設定せずに
ファイルのフルパスだけにしています。
F:\・・・・.mp3

VBA になりますが
ワークシートのイベントに
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
CreateObject("Shell.Application").ShellExecute Target
'target はファイルのパスを書いてあるところ
End Sub

などとしています。

これで解決できるかも?
2007 Office プログラムおよび Office 2010 プログラムでハイパーリンクの警告メッセージを有効または無効にする方法
http://support.microsoft.com/kb/925757/ja

上記方法を試したわけではありません。
出来たとしても、ややこしそうです。
今後、OSの再インストールをする羽目になることが有るかもしれませんが
その頃にはすっかり忘れてしまっていそうです。

私の場合は、セルにハイパーリンクを設定せずに
ファイルのフルパスだけにしています。
F:\・・・・.mp3

VBA になりますが
...続きを読む

QExcel2010 セキュリティを非表示にしたい

Excel2010を使用しています。システムから自動的に出力されたファイルを開こうとすると、

「セキュリティに関する通知 このファイルから問題が検出されました。このファイルを開くのはセキュリティ上危険がある可能性があります。」
このようなメッセージが表示されます。ファイルを開くボタンから保護されたビューで、編集するボタンをクリックすると問題なく開けます。

毎回このようなメッセージが表示されるので、このメッセージを表示されないようにしたいです。
セキュリティは問題ないというのを前提に、どのようにすれば、このメッセージを表示させなくする事ができるでしょうか?

下記のURLが検索したらひっかかってきましたが、具体的な方法がかかれていませんでした。宜しくお願い致します。
http://office.microsoft.com/ja-jp/excel-help/HA010355931.aspx#BM4

マクロの設定の「全てのマクロを有効にする」にはチェックはいれています。

Aベストアンサー

>システムから自動的に出力されたファイルを開こうとすると
具体的にはどのように行っていますか?

信頼できる場所に置いてから開く
信頼済みドキュメントの設定
http://office.microsoft.com/ja-jp/excel-help/HA010354384.aspx
で解決できるかと。

>マクロの設定の「全てのマクロを有効にする」にはチェックはいれています

http://officetanaka.net/excel/excel2010/008.htm
で昔ほどしつこく無くなったので \(^o^)/

Qエクセルで音楽を再生させる方法

エクセル2007を使用していますが、特定のセルに一定以上の数値が打ち込まれると、音楽が再生されるようにするにはどうしたら良いでしょうか?
宜しくお願いします。

Aベストアンサー

 VBAプログラムをある程度自由に書けて
エクセルに無いプログラムを呼び出したり操作できることが前提ですが、
検索のキーワードを書いておきます。
 
 MediaPlayerコントロール
 サウンドレコーダ(SndRec32.Exe) SoundRecorder.exe(Vista ,Win7) 
PlaySound(sndPlaySound)
MciSendString

どの方法でもファイルのパスを指定するだけのようなものですが、それぞれちょっと違いがあったり再生方法がわかりにくかったりします。
 MediaPlayerコントロールならサウンドファイルの種類を気にすることなく再生できます。

QエクセルVBAで.mp3ファイルを鳴らす

こんにちは。
エクセル2003のVBAで.mp3ファイルを鳴らす方法を教えてください。
初心者なので、ドラッグ&ドロップでエクセルシートの上に.mp3ファイル
をオブジェクトの挿入で、アイコンにして追加しました。
このアイコンをクリックするとウインドウズのメディアプレーヤーが
起動して,mp3ファイルは問題なく再生されます。
(エクセルファイルサイズの大きさから。mp3ファイルはエクセルに含まれて
いると考えられます。)
次にマクロのキー記録から次のようなコードを調べてVBAエディターを使って
マクロに記載しました。

ActiveSheet.Shapes("Object 3").Select
Selection.Verb Verb:=xlPrimary

マクロを起動して問題なく.mp3は再生されますが、エクセルファイルの方が応答なし
になり、フリーズしてしまい、エクセルを閉じる以外に元に戻せなくなります。
何か不足しているのでしょうか?
お知恵を貸してください。
よろしくお願いします。

Aベストアンサー

PCの処理能力が弱いからだと思います。
DoEventsを1~数個くらい追加してメディアプレーヤーが起動しやすいようにすれば何とかなるかもしれません。


ActiveSheet.Shapes("Object 3").Select
Selection.Verb Verb:=xlPrimary
DoEvents: DoEvents: DoEvents

QVBAによる動画再生

お世話になります。

エクセルのVBAを使って,動画を再生するマクロを組みました。以下のページを参考に作りましたが,エクセルのファイルを立ち上げると,自動的に動画再生が始まってしまいます。再生開始ボタンをクリックしたときに動画再生をしたいのですが,どうすればいいでしょうか。

皆様のお力をお貸しください。使っているのはエクセル2010,Windows8です。

よろしくお願いします。

参考URL
http://ch3cooh.jp/excel-2003/play-movie-using-excel-vba/

Aベストアンサー

停止ボタンも作成し、以下のマクロを登録してみてください。

Sub CloseMovie()
WindowsMediaPlayer1.URL = ""
End Sub


Excelを保存して終了する際は、必ず上記の停止ボタンを押して終了するようにしてみてください。

Qエクセル表中に入力条件に対応した図(jipファイル)を表示したいのですが。。。

エクセル97で保険契約の契約内容入力フォームを作ろうとしています。
指定したセルに入力された内容に対応して、数パターンのメッセージまたは図形を結果のセルに表示させたいと思っているのですが、セルへの図の表示方法が分かりません。
あるセルへの入力結果に対応して図を表示する方法が知りたいのですが。
なるべく簡単単純だとうれしいです。
(文字列の表示はIF関数を使おうと思っています)
よろしくお願いします。

Aベストアンサー

こんにちは

 A1:A10のセル内にそれぞれ一つづつ図が入っているとします。

 まずは名前定義です。

1.Ctrl+F3(メニュー[挿入]-[名前]-[定義]
3.[名前]に Pic と入力
4.[参照範囲]に=INDIRECT($G$1) と入力
5.[OK]ボタンをクリック

 セルG1に A1 と入力しておきます。

 続いて、図のリンク貼り付けです。

1.セルA1を選択(オートシェイプではなく、セルA1を選択)してCtrl+C(コピー)
2.セルH1を選択して、Shiftキーを押しながらメニュー[編集]-[図のリンク貼り付け]
3.数式バーに =Pic と入力

 これで、セルG1に、A2 とか A3 のようにアドレスを入力してみてください。

参考URL:http://www2.odn.ne.jp/excel/


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング