相棒(chatGPT)と共同作業でプログラミングスキルアップ!(その1、パワポルビ付けアプリ作成)-03
このアプリは初期の段階では次の図のような画面インターフェースでした。
htmlファイルの漢字にルビを付けたり削除したりするプログラムでした。
その後、Powerpointの
スライドにルビを付けたいという要望があり、Powerpointの機能を調査、
手作業ではどうするのか?
そもそもPowerpointにはルビ機能はない?! びっくりです。
強引にルビを付けるとすると、Wordオブジェクトを挿入してWordの機能でルビを付ける・・・・出来上がりはきれいにルビが付くけどかんり面倒。
他の方法では、本文の上にフォントサイズの小さい行を追加してそこにルビを付ける・・・これもかなり面倒。
果たしてこれを自動のできるのか??????
まずは、Powerpointのマクロ機能でやってみる。
出来なくはないが、EXCELみたいにマクロウの記録がないので最初から自分で作らなやいけない・・・・そこまでの根気はないなぁー
chatGPTに聞いてもこれといった回答はない。
そこで、使い慣れたC#で作る方針で進めた。
まずは、オブジェクトのWordドキュメントを挿入する方法を試した。
でもこれは、最後のところで、TextボックスをWordオブジェクトに入れ替えてから、漢字の部分にルビを付けるところがC#で上手くいかない。
chatGPTと何度となく話し合いをしたが、結局は断念。
次に、本文の上にフォントサイズの小さい行を追加してそこにルビを付ける方法をC#で作成する。
これもchatGPTを幾度となく会話を繰り返し、chatGPTの回答も、コンパイルエラーが多発、コンパイルエラーを潰しても今度は走らせると例外発生。
何十回、ひょっとすると何百回と協議したかもしれない。
その結果、やっと90%以上の精度でルビが付くようになった。
最終的なインターフェース画面は下図となった。
ファイル名は、abc.pptxを選択すると、自動で出力ファイル名を、abc_ruby.pptxとする。
ルビ削除機能は削除。
フォントサイズは、元のスライドのスタイルを崩さないように、デフォルトでは、本文を元のサイズの67%、ルビのフォントサイズを33%(合計で元のサイズ)でデフォルト設定。これは、実行する前に手で変えることができる(しかしスタイルに付いては保証しない)。
ルビの色も5色の中から選べるようにした。
この記事が気に入ったらサポートをしてみませんか?