- ベストアンサー
エクセルからマクロでパワーポイントを開く方法
- エクセルでUserFormに配置したボタンをクリックするとパワーポイントスライドショーが開始される方法について教えてください。
- エクセルとパワーポイントのバージョンは2003です。
- マクロでパワーポイントを開く際の指定方法について試行錯誤していますが、エラーが発生しています。解決方法をご教示ください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 >具体的にどのように書けばいいのかわかりません。 私は、パワーポイントは持っていませんが、このようにすればよいと思っています。 sub aaaaaR() Dim pptApp As Object Set pptApp = CreateObject("PowerPoint.Application") With pptApp .Presentations.Open FileName:="C:\Documents and Settings\user\My Documents\AAA.pps", ReadOnly:=msoFalse With .ActivePresentation.SlideShowSettings .ShowType = ppShowTypeKiosk .LoopUntilStopped = msoTrue .ShowWithNarration = msoTrue .ShowWithAnimation = msoTrue .RangeType = ppShowAll .AdvanceMode = ppSlideShowUseSlideTimings .PointerColor.SchemeColor = ppForeground .Run End With End With End Sub
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >Presentations これは、パワーポイントのオブジェクトです。だから、Excelの親オブジェクトとは違いますから、オートメーション・オブジェクトを作ってあげないといけないのではありませんか? たとえば、 Set pptApp = CreateObject("PowerPoint.Application") または、 Set pptApp = GetObject(,"PowerPoint.Application") もしくは、参照設定で、Microsoft PowerPoint 11.0 Object Library で、指定してもよいです。この場合も、pptのApplicationオブジェクトは、作ってください。 そして、 pptApp.Presentations.Open としてあげればよいと思います。ただし、そのふたつの内のGetObject は、ファイル名を入れられるのですが、親オブジェクト(Application)は、そこから取り出さないといけないから、面倒なので、親オブジェクトを指定したほうがよいと思います。なお、GetObject で、Applicationを呼び出す場合は、すでに立ち上がっていないと、エラーになります。ファイルを呼び出す場合は、エラーにならないはずです。
お礼
早速ありがとうございます。 せっかくご回答いただきましたが、全くの初心者のため内容を理解できませんでした。 具体的にどのように書けばいいのかわかりません。 「pptApp」の定義の仕方すらわからないのです。 申し訳ありません。 もう少し修行してから出直します。
お礼
ありがとうございました。 ご教示いただいたもので実行したところ「Presentations.Open:無効な要求です PowerPoint のフレームウインドウは存在しません」とのエラーになりました。 そこで頭に Application.ActivateMicrosoftApp xlMicrosoftPowerPoint を加えましたところ指定のスライドショーが始まるようにできました。 但し、いったん何もないパワーポイントが開き、おもむろにスライドショーを開始するという形のためあまり格好よくありません。 蛇足ながらWithの中の RangeType PointerColor.SchemeColor は「エミュレーション値が無効です」とかでエラーになるため削除しました。 初心者で訳も分からずやっておりますが、どうぞ今後ともよろしくお願いいたします。 (お礼のポイントのつけ方もわかりません。ご勘弁ください。)