パワーポイント2007について教えてください。パワーポイント2007で音楽を再生したいと思っています。


やりたいことは、例えばスライドショーが20枚あるとします。

スライドショー1枚目で音楽をA.mp3を再生します。1~10枚目まではずっと同じ音楽を流しっぱなしにしたいです。つまり、2枚目にスライドショーが移動しても、音楽は途切れずに、流れっぱなしにしたいです。

スライドショー11枚目にさしかかった時に、B.mp3を再生させて、20枚目までずっと流しっぱなしにしたいです。

このような事は可能でしょうか?可能であれば、やり方を教えてください。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/10/07 21:30:39
  • 終了:2010/10/10 19:53:58

ベストアンサー

id:Silvanus No.1

Silvanus回答回数174ベストアンサー獲得回数672010/10/08 14:04:46

ポイント100pt

もし、PowerPointでVisual Basic for Applicationをお使いになったことがなく、

以下の説明が理解できない場合はその旨コメントでお知らせ下さい。説明を追加いたします。

-----

以下に説明する方法にはいろいろ制限があります。

・MP3ファイルは使用できない。WAVファイルならOK。

・BGMのリピートはできない。

・スライドショーの開始は、マクロ(StartSlideShowWithBGM)を実行して行なう。

・スライドショーを中断した場合は、マクロ(StopBGM)でBGMを停止する。

改善可能な点がないかどうか継続して検討しますので

「何とかして解決して欲しい」不満点がありましたら、コメント下さい。

---

クラスモジュール"Class1"

Option Explicit

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _

(ByVal strCommand As String, _

ByVal strReturnString As String, _

ByVal cchReturn As Long, _

ByVal hwndCallback As Long) As Long

Public WithEvents AppEvent As Application

Const intSldPosBGMChg As Integer = 11

Const strFilePath1 As String = "D:\Music\AlwaysTogether.wav"

Const strFilePath2 As String = "D:\Music\ThankYouAll.wav"

Private Sub AppEvent_SlideShowBegin(ByVal Wn As SlideShowWindow)

Dim lngRtnCd As Long

lngRtnCd = mciSendString("play " & strFilePath1 & " from 1", "", 0, 0)

End Sub

Private Sub AppEvent_SlideShowNextSlide(ByVal Wn As SlideShowWindow)

Dim intSlidePos As Integer

Dim lngRtnCd As Long

intSlidePos = Wn.View.CurrentShowPosition

If intSlidePos = intSldPosBGMChg Then

lngRtnCd = mciSendString("stop " & strFilePath1, "", 0, 0)

lngRtnCd = mciSendString("play " & strFilePath2 & " from 1", "", 0, 0)

End If

End Sub

Private Sub AppEvent_SlideShowEnd(ByVal Pres As Presentation)

Dim lngRtnCd As Long

lngRtnCd = mciSendString("stop " & strFilePath2, "", 0, 0)

Set Module1.MyObject.AppEvent = Nothing

End Sub

---

標準モジュール

Option Explicit

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _

(ByVal strCommand As String, _

ByVal strReturnString As String, _

ByVal cchReturn As Long, _

ByVal hwndCallback As Long) As Long

Public MyObject As New Class1

Const strFilePath1 As String = "D:\Music\AlwaysTogether.wav"

Const strFilePath2 As String = "D:\Music\ThankYouAll.wav"

Sub BeginSlideShowWithBGM()

Set MyObject.AppEvent = Application

ActivePresentation.SlideShowSettings.Run

End Sub

Sub StopBGM()

Dim lngRtnCd As Long

lngRtnCd = mciSendString("stop " & strFilePath1, "", 0, 0)

lngRtnCd = mciSendString("stop " & strFilePath2, "", 0, 0)

End Sub

  • id:deflation
    「画面切り替えの編集→サウンド」で前のサウンドを停止しないようにしてはいかがでしょう。
  • id:Silvanus
    済みません…deflationさんの仰せの通り、これでいけるのかも…(汗)。
    http://office.microsoft.com/client/helppreview.aspx?AssetId=HA012303099990&lcid=1041&NS=POWERPNT&Version=12&respos=3&CTT=1&queryid=751eb48b2a934457ad9553b03c42b7db
  • id:Silvanus
    もしコメントの方法で実現できたのであれば、質問をキャンセルして下さい。
  • id:Silvanus
    もう既に試されていらっしゃると思いますが、自分自身の備忘録の意味も含め、操作手順を書いておきます。
    -----
    (1) 1枚目および11枚目のスライドに[挿入]-[メディアクリップ]-[サウンド]でサウンドを挿入する。自動再生を選択する。
    (2) 配置されたサウンドをクリックし[サウンドツール]-[オプション]-[サウンドツールオプション]-[停止するまで繰り返す]にチェックを入れる。1枚目、11枚目双方に行なう。
    (3) 1枚目を一括選択し[アニメーション]-[アニメーションの設定]作業ウィンドウ内のリストに出て来ているMP3ファイル名の右端についている[▼]をクリック。出て来たポップアップメニュー内の[硬貨のオプション]を選択する。
    (4) [再生 サウンド]ダイアログ-[効果]タブ-[再生の中止]の[次のスライドの後:]を選択し、横の欄に「10」と入力。[OK]をクリックする。
    (5) 11枚目に対し、(3)~(4)を行なう。[次のスライドの後:]には同じく「10」を入力すること。「20」ではないので注意。
    -----
    誠に失礼いたしました。
  • id:akaired
    deflationさま、Silvanusさま
    ご回答ありがとうございます!!とてもたすかりました、感謝です!!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません