delphiよりpowerpointview2007にファイルを読み込ませて、スライドショーを実行させたいと考えております。
powerpointview2007 はインストール出来ております。
PPTVIEW.exeを元に、タイプライブラリを作成しようとしたのですが、作成はできませんでした。
エンジンと思われる、PPVWINTL.DLLもタイプライブラリの作成は失敗しております。
最終目的としては、フォームのの特定のエリアにパワーポイントのスライドショーを表示し、ボタン等で表示内容を切り換える事を行いたいと考えております。
とっかかりのヒントで良いので、お教え下さい。
コンポーネント、OCXをご紹介いただいてもかまいません。
wmvやフラッシュは出来ているので、何とかパワーポイントのスライドショーも再生したいと考えております、どうかよろしくお願いいたします。
googleで「PowerPoint Viewer ocx」「web全体から」で調べると
幾らでもでてきます。
多分自力でも作れるかもしれませんね。
PowerPoint Viewer OCX での検索で、海外で公開されてるOCX(有料)はでてきます。(有料のもは使用しない方向で考えております。)
私の記載事項が不足していたので、申し訳ございませんでした。
powerpointview2007 以前 のバージョンの時には、ActiveXコンポーネントとして登録する事が出来たので、delphiより制御する事が可能だったみたいです(ネット上でも、ActiveXへの登録方法を含めたヒントが結構見つかっています。)
powerpointview2007 では、公開されているヒントでは、使用できませんでした。
ターゲット用のPCにはpowerpointview2007だけをインストールし、後は作成したプログラムだけで、制御したいと考えております。
一番助かるのは、delphiで標準で作成されている、TPowerPointApplication と同様のTPowerPointViewerApplication が有るのが一番理想で、次に期待しているのが無料のOCX(OCX経由でpowerpointview2007を制御する)になり、最後は、DLLでの制御です。
そのあたりで、情報をお持ちの方おりましたら、ご指導頂ければ幸いです。
もし.netでの方法(API経由、comオブジェクト経由)でご提供でもかまいません。
(delphi+.netプログラムで作成事も可能なので)
powerpointview2007を調査したのですが、難しいそうなので、今現在、powepoint2007でテストを行っているのですが、何点か実現が出来ておりません、つきましては、方法をご存知の方がおりましたらご指導ください。
やりたい事は、パワーポイントのスライドショーを、指定した、位置とサイズで再生を実施させたいのです。
PowerPointApp:= TPowerPointApplication.Create(Self);
PowerPointApp.Activate;
PowerPointApp.Connect;
PowerPointApp.Presentations.Open('c:\test.pptx', msoFalse,msoFalse,msoTrue);
PowerPointApp.ActivePresentation.SlideShowSettings.ShowType := ppShowTypeWindow;
// スクロールバーを消去する。
PowerPointApp.ActivePresentation.SlideShowSettings.ShowScrollbar := msoFalse;
PowerPointApp.Dialogs
PowerPointApp.Top := 0;
PowerPointApp.Left := 0;
PowerPointApp.Width := 300;
PowerPointApp.Height := 300;
// スライドショーを実行する。
PowerPointApp.ActivePresentation.SlideShowSettings.Run;
とすることで、スライドショーの実行と、スクロールバーを消すことは出来たのですが、表示している所の枠線と上部windowsのバーを消す方法が分かっておりません。
つきましては、ご存知の方がおりましたらお教え頂けないでしょうか?
又は、windowsハンドルの取り方をお教え頂いければたすかります。
(windowsハンドルが取れれば、APIでもしかすると変更出来るかもと・・と予測しております)
Mr.XRAYです.亀レスです.
他のスレッドももちろんご覧になっているとは思いますが
CreateProcessでウィンドウの位置と大きさを指定
https://www.petitmonte.com/bbs/answers?question_id=6680
にレスしたついでです.
環境の記載がありませんが
>powepoint2007でテストを行っているのですが
だけは分かりました(まさかWidnows95でDelphi2ということはないと思いますが...).
>PowerPointApp.Width := 300;
>PowerPointApp.Height := 300;
これはPowerPoint本体のサイズ指定です.スライドショーは,
PowerPointApplication1.ActivePresentation.SlideShowWindow.Left := 500;
PowerPointApplication1.ActivePresentation.SlideShowWindow.Width := 700;
PowerPointApplication1.ActivePresentation.SlideShowWindow.Height := 500;
の感じですね.
ただ,この方法だと,一度全画面で表示されてから,位置が変更となります.
何かしらの工夫でそのようにならないようにできるかは不明です.
280_アプリの起動と終了を知る
http://mrxray.on.coocan.jp/Delphi/plSamples/280_HookCBTActivate.htm#Activate
のようにDLLを使用してグローバルフック内で制御すれば最初から指定の位置と
サイズで表示することは,環境によっては可能です.
ツイート | ![]() |