• ベストアンサー

エクセルにmidファイルを張り付けて、起動と同時に音も鳴らす

 普通に何かを作ったエクセルファイルに、MIDIファイルを張り付け  (又は何らかの方法で埋め込み?)、そのエクセルファイルを起動させると  自動的にそのMIDIを再生したいのですが、以下の条件で可能でしょうか?  以前に同様の質問をしましたが、意図とは違った回答でしたので再度質問  致します。  条件   ・音をならすために、エクセルファイルからMIDIファイルにリンクを    貼るなどの、xls と mid が 2つ 存在させるやり方は    しない。(xls中に挿入張り付け、または何らかの埋め込みをしたい)   ・作成したエクセルファイルを開けると自動的に音が鳴るようにしたい。    (実際に挿入→オブジェクトから張り付けを行ったが、エクセルの表内     に張り付けたMIDIは当然だがそれをクリックしに行かないと実行     されなかった)      ・MIDIが実行される際、メディアフプレーヤーなどの再生ソフトは    別ウインドウで開いたりして実行されないようにしたい。    (ウインドウが開くのはエクセルだけの状態にしたい)  以上のような事は、マクロやその他何らかの方法でで可能でしょうか?

  • MYLINE
  • お礼率73% (106/145)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

前回、回答した者です。 いろいろ考えている内に締め切られてしまいましたので、こちらで書かせて頂きます。 (1)オブジェクトの貼り付けは、Excel以外にExeが必要です。(リアルプレイヤーなど)    他のパソコン等に、リアルプレイヤーが存在しなければいけません。 (2)#1の方も書いていますが、ファイルに関連付けたアプリが起動しますので、   例えば、こちらのパソコンで、Midにリアルプレイヤーが関連付けられていて、   Midファイルを貼り付けても、   他のパソコンではメディアプレイヤーが関連付けられていると、   メディアプレイヤーでの演奏になります。   結構、ソフトのインストールをすると知らない間に、関連付けが変わっていたりしませんか? (3)VBで一応埋め込んで、非表示で演奏するプログラムを作成する事は出来ました。   (ブックが閉じたら、音を止めるなどの細かい所は処理していませんが)   ので、(1)、(2)を踏まえた上で、フリーソフトで(フォームが表示されないで、Midiを演奏する)そういう物があるか探してみてください。 私も探してみましたが、見つかりませんでした。 前回の質問で、補足に対し、回答できなかった事をお詫びします。

MYLINE
質問者

お礼

再度の回答ありがとうございます。 また、その後も考えてくださっていたということも含めて、お礼申し上げます。 NO.1のお礼投稿でも書かせていただいたように、IEでは(私の書いた 条件のうち1つ目以外は)簡単に出来てしまうので、エクセルでも何か 方法がきっとある、と思っていたのですが、かなり難しいようですね。 ちょっと残念ですが断念いたします。 お手数をとっていただきありがとうございました。

その他の回答 (2)

回答No.3

書き忘れてしまいました。 もしVB(Visial Basic)が使えるようでしたら、参考ソースを載せますので補足で書いてください。 (といっても完璧に作れているわけではなく、上記条件を満たしている程度のものです) あと自分で作成したプログラムでしたら、他のプログラムが使っていない拡張子(ZZZとか) をMidiファイルと判断させて演奏させる事も可能だと思いますので、 (2)はクリアできると思います。(確証はありません) 余談ですが、貼り付けられたオブジェクトをブックが開いた時にクリックせず実行するには、 Private Sub Workbook_Open() Worksheets("Sheet1").OLEObjects(1).Verb Verb:=xlPrimary End Sub でできると思います。

MYLINE
質問者

お礼

ありがとうございます。 この記述を一度ためしてみます。

noname#102878
noname#102878
回答No.1

恐らく無理でしょうね。 好みのmidiファイルを埋め込んでなおかつmidiファイルを再生する機能を持つプログラム(*.exe)を開発するか、 好みのmidiファイルを埋め込んでなおかつメディアプレーヤーを非表示で呼び出して再生するプログラム(*.exe)を開発するぐらいでしょうか。 excelに貼り付けたオブジェクトを実行する場合、 excelは選択されたオブジェクトをwindowsに渡し、 windowsはそのPCで関連付けされているプログラムに渡し、 呼び出されたプログラムが実行する。 という動作ですので、midiを再生するプログラムが「非表示で再生」という機能を持っていないとダメなのです。 もし「絶対にどんなことをしてもExcelに埋め込んだmidiファイルを非表示のメディアプレーヤーで再生したい」 というのであれば、メディアプレーヤーのSDKを勉強してみてはどうでしょうか。 ただし、私がExcel上で試した限り、シートに貼り付けたオブジェクトのファイルタイプをVBAから取得することはできませんでした。 恐らくですが、「Excelはそのオブジェクトがどんなタイプなのかを知る必要がない。そのオブジェクトがどんなタイプであり、どのアプリケーションで実行されるかはWindowsが管理するべき情報である。」といったところじゃないでしょうか。

参考URL:
http://www.microsoft.com/japan/msdn/windowsmedia/development/wmsdk.asp
MYLINE
質問者

お礼

回答ありがとうございます。 やはり簡単には無理なようですね。 たとえばIEなら (私が条件としてあげた1つめは満たせませんが)HTMLを実行すると同時に(実際はJAVAスクリプトなどの記述もいるが)音を鳴らす事と メディアプレイヤーは起動はするが、隠れたところで起動し、ウィンドウは IEのブラウザしか開かないで音が鳴っているという状態が可能なので エクセルでも可能かと思ったのですが・・・。 ありがとうございました。

関連するQ&A

  • エクセル ファイルを開けると midが流れるように・・・・・

     エクセルで、ごく普通に何かをつくりました。  そのファイルを開くと、MIDI などが 自動的に  流れるようにする事はできるのでしょうか?  挿入で適当に見えない位置に組み込むという事は出来るのですが  自動実行するという事ができません。  また、貼り付けた、ものを実行すると、別の再生ソフト  (メディアプレーヤーなど)が立ち上がって再生されてしまいます。  おもてだってソフトが立ち上がらずに、IEで再生するように  立ち上げれば音がかってに鳴るようになど可能でしょうか?  お知恵をお貸しくださいませ。

  • Windows Media PlayerでMidファイル再生

    Internet ExplorerでWEB上のmidファイルを開こうとするとWindows Media Playerが自動起動してタイムスライドが動くのですが、音が出ません。 Windowsのサウンドは正常に鳴りますし、他のブラウザ例えばFirefoxやGoogle Chromeでは同じmidファイルが正常に鳴ります(Quick Time)ので、パソコンの音源やmidそのものには問題がないと思われます。 OSはXPでsp2でsp3も試して同じです、IEは6.0で8.0を試して同じ、またWindows Media PlayerはVersion9で11でも症状は同じです。 音声ファイルでもwmaやmp3にwavはWindows Media Playerで正常に音が出ています。 設定段階でmid-midiにはチェックが入ってmidが関連付けされている筈なのですが、どういうわけか音が出ません。 Windows Media Playerで(特にInternet Explorer使用で)mid-MIDIファイルを正常に鳴らすにはどこを改善すべきかご教示お願いします。

  • midファイルが聴けません

    既に誰かが質問されていたらすみません。 かなり素人な質問です。 メディアプレーヤーとリアルプレーヤーを入れてるんですが、 拡張子がmid(ミディ?)ファイルを聴くことが出来ません。 PCからもちろん音は出ますし、他の拡張子(wavなど)は 聴くことが出来ます。 midは音源が必要って事ですか? 何方か詳しくお教え下さい、お願いします。

  • 拡張子がmidなのに、midじゃないと言われる

    今、midiファイルをwavに変換したくてTimidi95というフリーソフトを落としてきました。 これで拡張子が.midのファイルを開こうとしたら、"midiファイルではありません"というエラーメッセージが出て再生できませんでした。 何か他に設定があるのでしょうか? お分かりの方、宜しくお願いします。 パソコンはXPです。

  • midファイルを開いても、聞けません。

    すべての試してみたmidファイルを再生することができません。 ウィンドウズメディアプレイヤーで開くと、窓が開いてすぐにソフトがフリーズしてしまいます。 Lilithというソフトでも試してみたのですが、こちらもソフトが開くだけで、音がリストに表示されず再生されませんでした。 素人目で見ると、読み込み自体ができていないように見えるのですが、どうすれば、再生することができるでしょうか。 今日の午前中は聞けたのですが、聞けなくなってしまいました。再起動をしてみてもだめでした。 ちなみに、Lilithでmidを開き、再生されない状態ままwavファイルを開くと、そのまま何事もなくwavがすぐに再生されます。

  • MEDIA PLAYERとMID RADIO

    MID RADIOで再生したいMIDIがあるのですが、そのファイルを開くとMEDIA PLAYERが立ち上がってしまいます。MID RADIOで再生する方法を教えてください。OSはXPです。

  • エクセルファイルの一括変換処理【マクロ?】

    こんにちは。 複数のエクセルファイルに、同じ処理を一括で行う方法について質問いたします。 現在フォルダの中に、県別に分かれた47個のエクセルファイルがございます。 --イメージ-------------------   北海道.xls   東京.xls   愛知.xls   大阪.xls    :   沖縄.xls ---------------------------- これらを使いやすくするために、現在以下の処理を行っています。 1)ファイル名を同じ法則性をもって変更する  (例:北海道.xls→「北海道3月実績」/沖縄.xls→「沖縄3月実績」) 2)同じ書式に変更する  (例:「北海道3月実績」の書式(罫線・列幅・フォント等の設定)をコピーし、     他の47ファイルを開き、『書式の貼り付け』で47回ペースト) 3)同じマクロを実行する  (例:エクセルファイルを開き、既存マクロ(改ページを自動挿入するマクロ)を     実行する作業を47回行う) 上記の単純作業を毎月毎月、47回行わなくてはなりません・・・。 簡単な作業ではありますが、時間がかかりますし、やっていく中でミスも発生いたします。 1つの同じフォルダに格納されたファイルに全く同じ作業をしていくので マクロか何かで自動化できないものか、と思案中です。 ■自動化がそもそも可能なのか? ■可能であればどうやったらできるのか? アイデアや知識をお持ちの方がいらっしゃいましたら 教えていただければ大変うれしく思います。 どうぞよろしくお願いいたします!!

  • midファイルを再生すると最初の一瞬に爆発的に大きな音が鳴ります

    midファイルを再生すると最初の一瞬に爆発的に大きな音が鳴ります パソコンで.midの音楽を再生しようとすると、 最初の一瞬だけ音割れともなんとも言えない爆発音のようなものが鳴ります。 しかも、パソコンのボリュームを最小にしていても風船が割れるぐらいに 大きな音で鳴ります。完全にボリュームを消音にした場合は鳴りません。 どんな音かも表現しにくいですがそれも風船が割れるような感じです。 これは意図的に音楽を再生しなかった場合でも鳴ります。 つまりは、勝手にmidが流れるホームページを訪問した場合などに、 かなり驚いてしまいます。この現象の原因と解決策を教えてください。 よろしくお願いします。

  • 拡張子が<.mid><.rmi>のファイルが……

    <embed src="☆" autostart="true">の 「☆」に拡張子が<.mid><.rmi>のMIDIシーケンス・ファイルを挿入してテストしても動かないのはなぜでしょうか? 但し、ここのファイルをクリックすると正常に音楽が鳴ります。 質問の仕方が悪いでしょうか。テストで成功したらHPに一行加えて音楽が鳴るようにしたいのです。その場合は、 "false"にしますが。宜しく、お願い申し上げます。

  • 同一エクセルウィンドウで2つ以上のエクセルファイルを同時に開く方法について

    「VISTAにエクセル2002を導入して使用しています。 XP等では、エクセルファイルのアイコンをダブルクリックして、複数のエクセルファイルを起動しますと、同一エクセルウィンドウ内であがってきましたが、VISTAでは、別々のエクセルウィンドウとしてあがってきてしまいます。 エクセルファイルからダブルクリックして、同一エクセルウィンドウで立ち上げる方法について教えてください。」 →これに似た回答で、以前、okweさんが、「コマンドプロンプト」を右クリックして「管理者として実行」。 reg add HKCR\Excel.Sheet.8 /v BrowserFlags /t REG_DWORD /d 0 /f をコピー、コマンドプロンプトで右クリック「貼り付け」、「Enter」。 と記入されており、これに従って実行してみましたが、依然として別々のエクセルウィンドウであがってきてしまいます。 どうしたら良いのか教えてください。

専門家に質問してみよう