- ベストアンサー
VB6.0でPowerPoint上のイベントを取得する方法
- VB6.0からPowerPointのファイルを開き、PowerPoint上のイベントを取得する方法について教えてください。
- 具体的には、ツールバーのプレビューボタンがクリックされたことをVBで検知したいと考えています。
- 現在はApplicationの閉じるイベントを取得できるようになっていますが、具体的な手順が分からないため、アドバイスをお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>印刷プレビューボタンのことです。 pp2000 SP-3を利用しておりますが、そちらはバージョンが何でしょうか? っていうのは、私のところには印刷プレビュが無いのです。 なので、このまま流用できるかわかりませんが、印刷ボタンのイベントを、キャンセルできるようなサンプルを載せます。(こちらにはVB6がないので、ExcelVBAで行っております^^;;;) Microsoft Office X.0 Object Library も参照設定に追加してください。 Private WithEvents PPTApp As PowerPoint.Application Private WithEvents PPTBtn As Office.CommandBarButton Private Sub PPTBtn_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean) CancelDefault = (MsgBox("本当に印刷する?", vbOKCancel) = vbCancel) End Sub Private Sub ぼたん_Click() Set PPTApp = New PowerPoint.Application Dim cmdBar As Office.CommandBar PPTApp.Visible = True Call PPTApp.Presentations.Open("C:\test.ppt") 'コマンドバー「標準」 Set cmdBar = PPTApp.CommandBars("Standard") 'その中の印刷ボタン Set PPTBtn = cmdBar.Controls("印刷(&P)") End Sub
その他の回答 (1)
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
すいません。 >プレビューボタン がどれの事かが解らなかったのですが、、、 スライドショウの開始という意味であれば↓です。 はずしていたらすいません。 Private Sub PPTApp_SlideShowBegin(ByVal Wn As PowerPoint.SlideShowWindow) '最大化されてたら邪魔なので、小さくする If Wn.IsFullScreen Then Wn.Left = 0 Wn.Top = 0 Wn.Width = Wn.Width / 2 Wn.Height = Wn.Height / 2 End If End Sub Private Sub PPTApp_SlideShowEnd(ByVal Pres As PowerPoint.Presentation) MsgBox "終わった", vbSystemModal End Sub
補足
説明不足ですみません。 印刷プレビューボタンのことです。 早速のご回答ありがとうございました。
お礼
1050YEN様、お礼が遅くなってしまいすいません。 こちらの環境はPP2003ですが、 アドバイス頂いた方法で解決することができました。 ご丁寧にありがとうございました。感謝しております。