オートシェイプの追加(Microsoft Excel)
Excelのグラフィック機能を使用すると、事前定義された多数の図形をブックに追加できます。オートシェイプと呼ばれるこれらの形状は、幅広いニーズに対応します。ただし、オートシェイプ機能に図形を追加したい場合は、運が悪いです。形状は明らかにExcelにハードコードされており、変更することはできません。
ただし、クリップギャラリーに図形を追加することはできます。図形をWMFファイルとしてフォーマットすると、簡単に追加でき、ワークシート内に簡単に配置できます。たとえば、Excelで使用できるようにするさまざまなフローチャート記号がある場合、必要なのは、各記号をWMF形式で保存してから、クリップギャラリーにインポートすることだけです。 (グラフィックをWMF形式で保存するには、Paint ShopProやCorelDrawなどの特殊なグラフィックプログラムを使用する必要があります。)
何らかの理由でクリップギャラリーを使用したくない場合は、非表示のワークシートでマクロとグラフィックスを組み合わせて、独自のオートシェイプをシミュレートできます。次の一般的な手順では、一連の20個のフローチャートシンボルに対してこれを行う方法について詳しく説明します。この手順は、マクロの作成とツールバーのカスタマイズにある程度慣れていることを前提としています。
。テンプレートワークブックを開き、ワークシートが1つしかないことを確認します。
。すべてのフローチャートグラフィックをワークシートに配置します。
。新しいツールバーを作成し、MyShapesという名前を付けて、テンプレートワークブックに関連付けられていることを確認します。
。フローチャートグラフィックごとに1つずつ、20個のボタンをツールバーに追加します。ボタンをクリックすると、関連するフローチャートの形状がアクティブなワークシートに追加されるという考え方です。
。各ボタンの面を編集して、各フローチャートのグラフィックをできるだけ近くに表示します。 (これは、これらの手順の中で最も難しい部分です)。
。必要に応じて、各ボタンのツールチップテキストを変更します。これは、ユーザーが各フローチャートグラフィックの目的を理解できるようにするのに役立ちます。
。次に、各フローチャートグラフィックを選択して名前を付けます。 (グラフィックを選択し、数式バーの左側にある[名前]ボックスに名前を入力して名前を付けます。)これらの手順では、FlowObj1、FlowObj2などの名前を使用するとします。
。次の種類の20個のマクロ(フローチャートのグラフィックごとに1個)を記述します。
Sub AddFlowObj1() ThisWorkbook.Sheets(1).Shapes("FlowObj1").Copy ActiveSheet.Paste End Sub
。各マクロを対応するツールバーボタンに割り当てます。
。テンプレートのワークブックモジュールに、次の手順を追加します。
Private Sub Workbook_Open() Application.CommandBars("MyShapes").Visible = True End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.CommandBars("MyShapes").Delete End Sub
。テンプレートをExcelアドインとして保存します。
。 Excelを再起動し、ツールを使用する|新しいアドインをアクティブにするためのアドイン。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(1995)は、Microsoft Excel 97、2000、2002、および2003に適用されます。