2012/08/20

非プログラマーのためのPowerPoint補助ツール を作ってみました

そんなわけで、「PowerPointのスライドショーに時間とページの進捗をプログレスバーで表示するVBScript」を作ってみました。
一旦「PPProgress」(PowerPointProgressの略)と仮称します。

主な機能の紹介です。


.

.



基本的な使い方

  1. PPProgressをダウンロード、任意の場所に解凍します。
  2. PPProgress.wsfにpptファイルをドラッグ&ドロップします。
  3. 制限時間を入力するダイアログがでるので、分単位で数字を入力します。
  4. スライドショーが開始され、プログレスバーが表示されます。
  5. 制限時間になるとその旨ダイアログが表示され、プログレスバーが消えます。


動作原理

プログレスバーやアイコンなどはすべてPowerPointのシェイプの機能を使っています。
約1秒ごと(PCのスペックと指定したオプション(下記参照)によって変化)にそのときの表示の状態と経過時間をPCから取得して、シェイプの表示を切り替えます。
終了時はVBScriptで作成されたすべてのシェイプを削除します。


利用時の注意事項

スライドショーを終了させたあと、PowerPointの機能により「保存しますか」のダイアログがでることがあります。
(というよりほぼ確実にでます。)
このとき必ず「いいえ」を選択してください。
「はい」を選択した場合、以下の問題が発生します。
  • 幕を表示するオプションを指定していた場合(下記参照)、幕のシェイプが保存されてしまう。
  • PPProgressがなんらかの理由で異常終了してしまった場合、そのときに表示していたシェイプが保存されてしまう。
  • ファイルの更新日時が変わってしまう。


ダウンロード

以下のリンクよりダウンロードしてください。
Download
なお、VBScriptの特性や歴史的背景から、ウィルス対策ソフトや最近ではブラウザまでもが、ダウンロードしたファイルについて警告、または隔離してしまうことがありえます。
ご理解ください。


設定可能なオプション その1 終了の方法

PPProgress.wsfを編集することで、制限時間到達時の動作を以下の3つから選択できます。
  • プログレスバーを消去し、ダイアログを表示する。(デフォルト)
  • スライドショーの現在のページ全体を覆い隠す幕を表示させる。
    ライトニングトーク向けな機能です。
  • PowerPoint自体を終了させる。
この編集に必要な知識は「VBScript」の「コメントアウト」の記述方法です。


設定可能なオプション その2 起動の簡易化

PPProgress.wsfを編集することで、起動時の操作を簡易化できます。
  • スライドしたいpptファイルのパス(ドラッグ&ドロップが不要になる)
  • 制限時間(入力ダイアログがでなくなる)
この編集に必要な知識は「VBScript」の「変数への代入」と「コメントアウト」の記述方法です。
(例が記載されているので、そこを編集しコメントアウトを外すだけです。)


設定可能なオプション その3 プログレスバーのデザイン

プログレスバーの表示について、以下の点をカスタマイズできるようになっています。
すべて「時間」「ページ」どちらも別に設定できます。
  • プログレスバーの位置(上からの高さ)
  • プログレスバーの左にアイコンを表示する|しない
  • プログレスバーの左に残りを文字で表示する|しない
  • プログレスバーの色
  • プログレスバーの透明度
  • プログレスバーの太さ
  • アイコンの画像
  • 文字の色
  • 文字の大きさ
  • 文字のフォントの種類
  • 文字の左に表示する文字
  • 文字の右に表示する文字(ページの場合だけ)
  • 文字を表示する幅
  • 幕の色
  • 幕の透明度
  • 幕に表示する文字列
  • 幕に表示する文字の色
  • 幕に表示する文字のフォントの種類
  • 幕に表示する文字の大きさ

これらを組み合わせた「テーマ」も用意しており、PPProgress.wsfで「テーマ名」を指定できます。
現在用意しているテーマは「default(デフォルト)」と「mono(モノクロ)」の2種類です。

また、上記の項目を個別で設定したい場合は、
PPProgress.wsf内にini形式で記述することでテーマを上書きできます。

さらに自分で「テーマ」を作ることも可能です。


テーマの変更に必要な知識は「VBScript」の「変数への代入」と「コメントアウト」の記述方法です。
(ただ、例が記載されているのでそこを編集し、コメントアウトを外すだけです。)

項目個別の変更に必要な知識は「ini」の記述方法です。

テーマを作る場合はthemeフォルダ内に任意の名前(これがテーマ名になります)でフォルダを作成し、その中にtheme.iniと(アイコンを使う場合)アイコン画像を置きます。
他のテーマのフォルダをコピーし、これを編集する方が簡単です。
テーマを作った場合、それを使うためにはPPProgress.wsf内でテーマ名を指定する必要があります。


編集の方法

上記VBScriptの編集方法や項目の名称の説明については、長くなってしまうので別途説明の場所を用意する予定です。
が、そんなに難しいことは書いてない(というか書けない)ので、見ていただければわかると思います。
基本的に編集するファイルは「PPProgress.wsf」だけです。
項目の名称はthemeフォルダ内のtheme.iniを参照してください。


iniの書き方について

PPProgress.wsfおよびtheme.iniでのiniの書式は以下の仕様があります。
  • theme.iniでsection([icon]など)を使っていますが、今のところ内部的には意味がありません。
  • 「xxxx : yyyy」の書式で書かれている行以外は無視されます。
  • 先頭に「#」または「;」が書かれた行はすべて無視されます。
  • 指定できる項目以外の名称での設定は無視されます。
  • 左右のスペースはトリミングされます。
  • 色は #000000~#FFFFFF で指定します。HTMLやCSSで使われる記述方法と同じです。


動作環境

以下の条件で動作確認を行っております。
  • WindowsXP SP3 + PowerPoint2003
  • Windows7 + PowerPoint2010


非動作環境

  • VBScripで記述しているため、Windows以外の環境では動作しません。
  • PowerPointのシェイプを作成するため、PowerPointViewerでは動作しません。


補償と保証とライセンス

このスクリプトを使ったことでの一切の損害を私は補償しません。
上記確認済み動作環境であっても「常に動作すること」は保証しません。利用は各自の責任で行ってください。
使用しているアイコンは以下のライセンスになります。
テーマ「default」のアイコン
Fugue Icons CC BY 3.0 © Yusuke Kamiyamane 2012
テーマ「mono」のアイコン
defaulticon CC BY-ND 3.0 © interactivemania 2010-2011
それ以外の部分(VBScriptなど)についてはライセンスってわざわざ書くほどのものでもないのですが、使う方や改変する方が迷ってしまうのは困るので、一応BSDライセンスにしておこうと思ってます。
※アイコン画像を変更する場合や再配布する場合はクレジットにご留意ください。


願わくば

興味をもっていただけたら使ってみてください。
質問、批評(マイナスでも)、提案、バグ報告などは大歓迎です。
連絡方法はTwitterでもコメントでもかまいません。

.

0 件のコメント:

コメントを投稿