2008年1月19日土曜日

第76回目 グラフにコメントをつける(その2)

○第76回目 グラフにコメントをつける(その2)

 このシステムの他の機能です。
 ・テキストの取得・書出し(ワークシートに)
 ・テキスト(コメント)の修正
 ・図形(ひとつ)の移動

 グラフシートの場合の最大のポイントは、セルがないことです。したがって、図形システムの該当するマクロから、グラフシートにある時は、エラーになるのでセル関係の記述を削除します。また、グラフシートとワークシートの移動を考えます。

 1.テキストの取得・書出し(ワークシートに)
 "図形のテキストの取得_書き込み"をもとにして、
 まずは、"指定範囲の取得"を削除して、'テキスト、"図形名の取得"から始まります。
 テキストを格納した段階で、シートを変えます(前回参照)。
 ワークシートになりますので、テキストを書き込む先頭のセルを指定します。
 それをもとに、セルの行番号と列番号を求めます。
bbb = ActiveCell.Address
Set セル範囲 = Application.InputBox(Prompt:="貼り付けるセルを選択してください", Default:=bbb, Left:=10, Top:=2, Type:=8)
AAA = セル範囲.Address
AAA1 = AAA
retu1 = Range(AAA1).Column
gyo1 = Range(AAA1).Row

 後は貼付けです。
図形の数は、グラフシートの段階で求めておいた、 ii9 = ActiveSheet.Shapes.Count です。

 2.テキスト(コメント)の修正
 このマクロでは、ワークシートからグラフシートに移動します。
 "図形のテキストの修正"の最初から利用できます。
 図形にテキストを書き込む時になって、グラフシートに移動させます。その後に既存のマクロの通りコメントの修正をします。
 最後の場所をグラフシートのままでよければ、テキスト修正後、終了させます。
 だんだん同じプログラムを何個も作るのがいやになってきます。もっとサブルーチン化して、同じ機能は原則1箇所のみの記述にはならないものでしょうか。

 3.図形(ひとつ)の移動
 このマクロは、グラフシートのままで出来ます。
 そして前回の"グラフにコメントをつける"の後半の位置を指定する直前に、図形番号の指定をいれればほぼ完成です。
 図形番号の指定は、図形の削除あたりを参照してください。

 今回は何かすっきりしないものを感じておわりにします。
 テーマは、ワークシート上の図形とグラフシート上の図形の処理を、すっきりしたマクロシステムとするということです。
 基本的な変数はモジュール変数とする。(モジュール内で共有できる変数。内容が他のマクロにも利用可能となる)
 モジュール内のマクロ間に共通変数をもたせることによって、より細分化したサブルーチンマクロをつくる。
 そして、サブルーチンマクロを組み立てることによって、メインシステムを簡略化し、システム全体をすっきりとさせる。

0 件のコメント: