のヮの@no05071730


五十路男の独り言集。
乱筆乱文はご容赦ください。

お仕事のVBA小話

2022年10月10日 19時07分24秒 | お仕事

 

はい、ちょっとほったらかしにしていました。すみませぬ。

 

忙しい、というほどではないけど、なかなかブログを書こう、というところまでモチベーションが上がらず、ゲームやってお茶を濁していました。

 

 

職場でVBA(Word)の開発を本業の合間にやっていたのですが、本業にムラがあり、一日中コーディングする日があったりなかったりと、本業における自分の存在意義が少し揺らいでいたりして、はてさて。

 

目下の問題点は、オートシェイプ図形(テキストあり)とテキストボックスを問題番号で名前をつけて全問分のレイアウトを作ってから、同じ番号で名前をつけたのオブジェクトを .select falseで複数選択して、activedocument.shaperange.groupでグループ化しようとしているのですが、「グループ化できないオブジェクトです」と怒られてしまいます。

 

オブジェクトのレイアウトオプションが「行内」だと上手くいかないという情報もありますが、そもそも作成されたオブジェクトのオプションは「前面」だったので、クリティカルな原因とは言えないかなーと。

 

VBEのステップインで1行ずつ実行するとエラーもなくグループ化できるのですが、コードを流すと上手くいきません。おわかりになる方いらっしゃいますかねぇ(´・ω・`)

 

その他の部分は概ね順調に動いています。前処理のモジュールとレイアウトのモジュールを分けて作って、以前作った「一括ルビ振り君」のメイン処理の部分をさらに別モジュール化して呼び出すようにしました。

 

選択肢の数が変動するのでそれに合わせて処理をプロシージャに分けて前処理から呼び出すようにしましたが、いくつかの基準値を値渡し(ByVal)していて、呼び出す4つのプロシージャすべて値渡しにしてしまいました。こういうやり方はあまりしないんだろうなーと思ったり思わなかったり。

 

基本を習うことなく実務でコーディングすると、こういうところが不安になります。素人・独学あるあるでしょうけど、みなさまはいかがでしょうか。

 



最新の画像もっと見る

コメントを投稿