目次 |
---|
はじめに
前回は、スライド内のオブジェクト(Shapeなど)を取得してみました。
今回は、さらにもう一歩踏み込んで、Shapeの属性値を変更してみます。
今回は、前回の雛型ファイル(.pptx)をそのまま使用します。
属性値の変更はどうすればよいか
前回は、オブジェクトの属性値を取得しました。
その属性値を変更するにはどうすればよいかというと、単に属性に値を設定してあげれば変更できます。
例えば、属性値を取得する場合は、
float f = オブジェクト.Width; |
といった感じでしたが、属性値を設定する場合は、
オブジェクト.Width = 123.45; |
のようにすれば、属性値の変更ができます。
フォームの改造
今回も、前回作ったフォームを少し改造してみます。
今回は、以下のようなフォームにしました。
改造点は、ログ表示領域を少し小さくして下に下げたことと、オブジェクトの属性変更・保存ボタンを追加し、属性値の表示と値の変更ができるテキストボックスを追加したことです。
コードの追加
今回のコードの追加は、次のように行います。
まず、前回の「2.ページ内オブジェクトの取得」ボタンを押したときに、処理の初めに同時にコンボボックスをクリアし、オブジェクトの情報を取得するループ内でオブジェクトの名称を取得してコンボボックスに追加します。
また、プログラムが長く分かりにくくなってきたので、メソッドコメントも追加しました。
さらに、コンボボックスの選択状態が変わったときに、オブジェクトの属性値の取得を行います。
今回は、お試しプログラムにつき、作りがよくないですが、コンボボックスの選択状態が変わるたびに雛型ファイルを読んで、オブジェクトの属性値の取得を行っています。
また、「3.オブジェクトの属性変更・保存」ボタンが押されたときに、オブジェクトの属性値を変更した上で、雛型ファイルを別ファイルに保存する処理を追加しました。
すべてのコードは以下のようになります。
スライド内オブジェクトの属性変更
では実際にページ内オブジェクトの属性変更を行ってみます。
実行結果は、以下のようになりました。
操作方法は、
1.雛型ファイルを設定
2.作成ファイルを設定
3.「2.ページ内オブジェクトの取得」をクリック
4.属性名のコンボボックスで、属性値の変更対象のオブジェクトを選択
5.属性値を書き換える
6.「3.オブジェクトの属性変更・保存」ボタンをクリック
という流れになります。
属性値変更の結果
属性値の変更を実際にやってみた結果は以下の通りです。
選択した属性値(座標・大きさ・テキスト)が変わっていますね。
変更前
変更後
まとめ
今回は、スライド内のオブジェクトの属性値の変更をしてみました。
ここまでできれば、雛型のPptxファイルを作ってShapeをテキストなどで特定してプロパティ値を変更すれば、様々な編集ができるようになりますね。
次回は、実際にこのような方法を応用して、何か使えるツールを作ってみたいと思います。