• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB6.0でPowerPoint上のイベントを取得したい)

VB6.0でPowerPoint上のイベントを取得する方法

このQ&Aのポイント
  • VB6.0からPowerPointのファイルを開き、PowerPoint上のイベントを取得する方法について教えてください。
  • 具体的には、ツールバーのプレビューボタンがクリックされたことをVBで検知したいと考えています。
  • 現在はApplicationの閉じるイベントを取得できるようになっていますが、具体的な手順が分からないため、アドバイスをお願いします。

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

  • ベストアンサー
回答No.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

pastapasta
質問者

お礼

1050YEN様、お礼が遅くなってしまいすいません。 こちらの環境はPP2003ですが、 アドバイス頂いた方法で解決することができました。 ご丁寧にありがとうございました。感謝しております。

その他の回答 (1)

回答No.1

すいません。 >プレビューボタン がどれの事かが解らなかったのですが、、、 スライドショウの開始という意味であれば↓です。 はずしていたらすいません。 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

pastapasta
質問者

補足

説明不足ですみません。 印刷プレビューボタンのことです。 早速のご回答ありがとうございました。

関連するQ&A