C#でパワーポイントのログを取る。
備忘録です。
C#からパワーポイントのログを取るには、COMのMicrosoft PowerPoint 12.0 Object Libraryというのを使う必要があります。これは、
- プロジェクトメニューから、参照の追加を選択
- COMタブを開く
- Microsoft PowerPoint 12.0 Object Libraryを選択
という手順で利用できるようになります。
で、このCOMを利用すれば、
Visual C# .NET で PowerPoint のイベントを処理する方法
にあるようにPowerPointのイベントを利用することができます。
本当はこれだけで、終わりっぽいのですが、このイベントハンドラの引数にある
PowerPoint.SlideShowWindow Wn
から、
int page = Wn.View.CurrentShowPosition; int animation = Wn.View.GetClickIndex();
のようにしてログを取ると、データがきちんととれません。具体的には、animationのインデックスが、常にそのスライドの最大値だったりします。
ので、Timerを使って200msとかでループを回し、
powerpoint.ActivePresentation.SlideWindow.View.CurrentShowPosition; powerpoint.ActivePresentation.SlideWindow.View.GetClickIndex();
からデータをとるようにしたほうがいいです。