エクセルでUserFormに配置したボタンをクリックすると"AAA.pps"という名のパワーポイントスライドショーが始まる、としたい。
次の形でパワーポイントを開くところまでは参考書で見つけたが
その先の名前の指定方法がわかりません。ご教示乞う。
エクセル、パワーポイントともに2003。
Private Sub CommandButton1_Click()
Application.ActivateMicrosoftApp xlMicrosoftPowerPoint
End Sub
試行錯誤でマクロの記録で取得した次のコードでは頭の「Presentations」で「変数が定義されていません」と断られました。
sub aaaaa()
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 Sub
No.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
ありがとうございました。
ご教示いただいたもので実行したところ「Presentations.Open:無効な要求です
PowerPoint のフレームウインドウは存在しません」とのエラーになりました。
そこで頭に
Application.ActivateMicrosoftApp xlMicrosoftPowerPoint
を加えましたところ指定のスライドショーが始まるようにできました。
但し、いったん何もないパワーポイントが開き、おもむろにスライドショーを開始するという形のためあまり格好よくありません。
蛇足ながらWithの中の
RangeType
PointerColor.SchemeColor
は「エミュレーション値が無効です」とかでエラーになるため削除しました。
初心者で訳も分からずやっておりますが、どうぞ今後ともよろしくお願いいたします。
(お礼のポイントのつけ方もわかりません。ご勘弁ください。)
No.1
- 回答日時:
こんにちは。
>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」の定義の仕方すらわからないのです。
申し訳ありません。
もう少し修行してから出直します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数セルに〇印をつけるマクロ 4 2022/09/07 05:33
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) Powerpointでランダムな数字の結果を表示するマクロ 2 2023/08/04 10:04
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルマクロエラー「'Cells'...
-
オブジェクトが見つかりません
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
テキストボックス中の文字列の...
-
VBAで既に開いている別アプリケ...
-
VBでPDFファイルを編集する
-
ある文字列が全て数字であるか...
-
VBからPDFファイル自動生成...
-
[VBA]CDOメッセージ送信エラー
-
EXCEL VBA オートシェイプナン...
-
VBScriptでファイルの日時順(降...
-
Exvel vba Range型変数格納時の...
-
【VB】【エクセル操作】 SaveAs...
-
エクセルVBAでcode128のバー...
-
VBScriptからDLL参照設定したい
-
パワーポイント filedialogでフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
PowerPointVBAでスライドマスタ...
-
VBAで Set wb = Sheets(1).Cop...
-
エクセルマクロエラー「'Cells'...
-
ある文字列が全て数字であるか...
-
VBAについてです。 初心者です...
-
VBScriptでファイルの日時順(降...
-
Excelでフィルタをかけると警告...
-
VBAからPDFファイルにパスワー...
-
VBで引数にDictionaryオブジェ...
-
このように書くべきですか? { ...
-
EXCEL VBA オートシェイプナン...
-
テキストボックス中の文字列の...
-
エクセルVBAでcode128のバー...
-
[VBA]CDOメッセージ送信エラー
-
オブジェクトが見つかりません
おすすめ情報