前のトピック     次のトピック

第 9 章 テキストの動作の設計

セクション 1   図形とマスタシェイプ内のテキストについて

図形やマスタシェイプのテキストの位置は座標系によって決まります。この座標系は、それぞれの図形やマスタシェイプのローカル座標系の原点と座標軸によって定義されるもので、"テキストブロック" と呼ばれます。図形やマスタシェイプを作成すると、その図形のテキストブロックは、デフォルトで図形やマスタシェイプの高さと幅を表わすボックスのサイズと同じに設定されます。つまり、テキストブロックは、幅や高さが図形やマスタシェイプと同じで、図形に対する回転の角度は 0 になります。テキストブロックのデフォルトの Pin は中央に設定されます。

 



図形とそのテキストブロックのローカル座標系

  1. 回転前の図形のローカル座標
  2. 図形のローカル座標系に対して回転されたテキストブロック

次の表では、図形やマスタシェイプのテキストの動作を設計する際に考慮すべき事項を示します。

テキストの動作を設計する際の考慮事項

項目 考慮すべき事項

テキストブロックの位置

図形またはマスタシェイプ内での位置

複数のテキストブロックが必要か

テキストブロックのサイズ

最小サイズまたは最大サイズを制限するか

テキストを追加した場合にテキストブロックを広げるか

テキストの量に応じてシェイプのサイズを変更するか

図形のサイズ変更、回転、反転と連動させるか

テキストブロックの外観

テキストの背景を不透明にするか

ユーザーの操作

図形内のテキストにユーザーが手を加えることができないようにする必要があるか

ユーザーが図形に対するテキストブロックの位置を移動できるようにする必要があるか

このセクションの内容...

シェイプシート ウィンドウでのテキスト属性の表示

テキストブロックの位置の制御

グループでのテキスト制御

シェイプシート ウィンドウでのテキスト属性の表示

図形の [テキスト情報] セクションでは、テキストブロックのサイズ、位置、ローカル座標系内での回転を定義することができます。これは、[図形情報] セクションでグループやページ内の図形の位置を定めるのに似ています。[テキスト情報] セクションを表示するには、まず シェイプシート (ShapeSheet®) ウィンドウを開きます。次に [挿入] メニューから [セクション] を選択し、[テキスト情報] をオンにして [OK] をクリックします。[テキスト情報] のセクションには、デフォルトで次の表に示す値が入力されています。

新規図形の [テキスト情報] セクションのデフォルト値

セル 数式
TxtAngle = 0 deg
TxtHeight = Height * 1
TxtLocPinX = TxtWidth * 0.5
TxtLocPinY = TxtHeight * 0.5
TxtPinX = Width * 0.5
TxtPinY = Height * 0.5
TxtWidth = Width * 1

[テキスト] ダイアログ ボックスの [オプション] は、図形の [文字の書式]、[段落の書式]、[タブ]、[テキストブロックの書式] のセクションに含まれているセルに対応しています。[書式] メニューから書式設定を行うと、書式設定を行った図形のシェイプシートで上記のセルの情報が更新されます。

各セクションに表示されている行番号は、その行で定義した書式が適用されている文字列の文字数 (具体的にはバイト数) を示しています。次にその例を示します。たとえば、行番号が 18、16、13 の [文字の書式] セクションでは、1 行目に定義されている書式がテキストブロックの最初の 18 文字の書式になります。2 行目に定義されている書式はテキストブロックの次の 16 文字の書式です。行番号と特定書式の文字数はこのように対応しています。

 



いくつかのフォント形式が指定された図形の [文字の書式] セクション

[文字の書式]、[段落の書式]、[タブ]、[テキストブロックの書式] の各セクションにユーザー定義式を定義すると、作業履歴が上書きされる可能性があるので注意が必要です。たとえば、テキストブロックで文字の書式をユーザーが個別に設定すると、これらの文字の書式を示す行が新たに追加されます。この状態でテキストを切り取ると、関連する行が削除されてしまいます。[文字の書式] セクションにユーザー定義式を記述したいときは、そのセクションの各行でセルに数式をコピーします。このようにしておけば、行を追加したり削除したりしても数式には影響しません。


図形がグループ化されている場合は、個々の図形ではなくグループの値にアクセスするように、[Width] と [Height] のセルを参照する数式の修正が必要な場合があります。


TOP へ

テキストブロックの位置の制御

図形を作成していると、テキストブロックをデフォルトの位置から移動した方が操作しやすい場合があります。たとえば、Visio のシェイプには、テキストブロックがシェイプの下に表示されるようにデフォルトで設定されているものが多くあります。これはテキストを入力しても図形に覆い被さならないようにするためです。テキストブロックは、[テキストブロックツール] () でシェイプを選択するだけで簡単に移動できます。

 



テキストブロックを移動するには、[テキストブロックツール] で図形を選択してドラッグします。図形のテキストブロックを選択すると、[テキストブロックツール] は二重のボックスになります。

[テキストブロックツール] を使用してテキストブロックを選択した場合、横側の選択ハンドルをドラッグしてブロックのサイズを調節できます。また、回転ハンドルをドラッグすればブロックを回転できます。他のユーザーに配布するシェイプを設計するときには、ユーザーが選択や調整がしやすい程度の大きさのテキストブロックになるよう心がけてください。たとえば、一次元図形のテキストブロックは、そのままでは小さすぎて [テキストブロックツール] での選択や調整がしにくいことがあります。

テキストブロックを制御するコントロール ハンドルの追加

ユーザーが手軽にテキストの位置を調整できるようなシェイプを設計するために、テキストブロックを移動するためのコントロール ハンドルを追加することができます。

 



シェイプのテキストブロックにコントロール ハンドルを追加すると、位置を調整しやすくなります。

テキストブロックに移動のためのコントロール ハンドルを追加するには、手作業で数式を書く方法もありますが、スマートシェイプ ウィザードを使う方が簡単です。このウィザードには、テキストブロックの位置を設定するためのオプションがあり、ブロックの Pin に対応したコントロール ハンドルを定義できます。

スマートシェイプ ウィザードを使ってコントロール ハンドルを追加するには

  1. 図形を選択し、[ツール] メニューから [マクロ] をポイントします。次に、[Visio エキストラ] をポイントして [スマートシェイプ ウィザード] を選択します。
  2. [スマートシェイプ オプション] で、[図形のテキストの動作を決める] を選択し、[オプション変更] をクリックします。
  3. テキストの位置を示す画面で、テキストブロックを配置したい位置を選択し、[次へ] をクリックします。
  4. [コントロール ハンドルを付ける] はデフォルトでオンになっています。

  5. 画面の指示に従って、ウィザードを終了します。

シェイプシート ウィンドウでのテキストのコントロール ハンドルを表示する方法

スマートシェイプ ウィザードでテキスト Pin のコントロール ハンドルを定義すると、図形に [コントロール] セクションが追加され、その行に数式が入力されます。手作業でコントロール ハンドルを追加する場合は、同様の数式を記述します。

コントロール ハンドルの行に設定された数式は、テキストブロックの配置に応じて変更されます。たとえば、図形の下にあるテキストブロックを中央揃えすると、[コントロール] セクションには以下のような数式が追加されます。

  Xn
  Yn
  X Dynamics n
  Y Dynamics n
  X Behavior n
  Y Behavior n

= Width * 0.5 + TxtWidth * 0
= Height * 0 + TxtHeight * -0.5
= Width/2
= Height/2
= (Controls.Xn > Width/2) * 2 + 2
= (Controls.Yn > Height/2) * 2 + 2

[テキスト情報] セクションには次のような数式が追加されます。

  TxtPinX
  TxtPinY

= Controls.X
= Controls.Yn

他にコントロール ハンドルが定義されていない図形の場合は、n は 1 になります。すでに他のコントロール ハンドルが定義されている場合は、[コントロール] セクションに行が追加され、n には追加された行の番号が入ります。[Xn] セルと [Yn] セルは、図形のローカル座標に対するコントロール ハンドルの位置を指定するためのものです。コントロール ハンドルは、テキストブロックの中央に表示されます。

[X Dynamics] セルと [Y Dynamics] セルの数式によって、コントロール ハンドルのアンカー ポイントが図形の中央に設定されます。コントロール ハンドルのアンカー ポイントの詳細については、「第 7 章 図形動作の機能強化」の「コントロール ハンドルのアンカー ポイントの設定」を参照してください。コントロール ハンドルを移動した後や図形のサイズを調整した後のコントロール ハンドルの基本動作は、[X Behavior] セルと [Y Behavior] セルで定義します。

TOP へ

グループでのテキスト制御

図形をグループ化すると、グループに対するテキストブロックが作成されます。グループ図形では、このテキストブロックと、個々の図形ごとのテキストブロックの両方を使うことができます。デフォルトではグループのテキストブロックを開くには、F2 キーを押すか、[テキスト ツール] () を選択するか、直接文字を入力します。グループ内の図形にテキストを追加するときは、最初にその図形を選択してください。

グループからなるマスタシェイプにテキストを入力し、簡単に編集できるようにするには、グループのテキストブロックを使うことをお勧めします。これを、最高速度を示す道路標識のマスタシェイプを例に説明します。グループのテキストブロックを使って最高速度の数値を入力すれば、最高速度の値は自由に編集できます。「最高速度」というラベルは、このグループに属す図形の 1 つに含めます。

 



グループのテキストブロックを使用すると、作成したマスタシェイプのテキストを編集しやすくなります。マスタシェイプをグループ (A) として、このグループのテキストブロック (B) には編集頻度の最も高いテキストを入れておくことができます。

グループのテキストブロックを編集できないようにすることも可能です。このようにするには、[基本動作] ダイアログ ボックス ([書式] メニューから [基本動作] を選択) で [グループのテキストを編集] をオフにするか、グループの [IsTextEditTarget] セルの値を TRUE から FALSE に変更します。

グループのテキストブロックを編集できないときは、F2 キーを押すか、[テキスト ツール] () を選択するか、直接文字を入力すると、グループで 1 番上にある図形のテキストブロックが開きます。グループのテキストブロックが編集できない場合に、グループの一番上の図形もグループのときは、一番上のグループのテキストブロックの設定に従って、そのグループのテキストブロックか、そのグループ内の一番上の図形のテキストブロックのどちらかが開きます。

図形のグループ化についての詳細は、「第 6 章 図形のグループ化と合成」を参照してください。

Top