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