最終更新日 2005 年 12 月 9 日
サンプル コードのダウンロード (vbmigtips_Office.msi, 1 MB)
Visual Studio 2005 では、.NET Framework 2.0 のサポートによって Visual Studio Tools for Office 機能が追加されました。この Visual Studio Tools for Office は、アプリケーションの作成と同様に Excel や Word の Office にボタンやテキストボックスなどを配置し、処理を実装することができます。通常、マクロや Visual Basic for Application によって実装している処理を Visual Studio 2005 で実装するものです。そこで今回は、Visual Studio Tools for Office の機能を使用して図1 のアプリケーションを作成する方法を紹介します。
図1
図1 では、シート上に配置されているボタンをクリックすることで、表示されているグラフのタイプを「縦棒グラフ」と「折れ線グラフ」に切り替えるアプリケーションを作成します。
Visual Basic 6.0 や Visual Basic .NET では、Visual Studio で作成したアプリケーションから直接 Excel や Word を操作することはできませんでした。そのため、アプリケーション側から様々な処理命令を Office 側に送信し、処理を実装していました。これにより、Office 単独のアプリケーションとして実行することはできませんでした。一方、Visual Basic 2005 では、 Visual Studio Tools for Office の追加により、Office 単独のアプリケーションを作成することができるようになりました。つまり、今まで Visual Basic for Application で実装していた処理を Visual Basic 2005 や Visual C# 2005 で Visual Basic 言語や C# 言語で実装することができるようになったのです。Visual Studio Tools for Office を使用方法は以下のとおりです。
まず、Visual Studio 2005 を起動し、[ファイル]メニューの[新規作成]で[プロジェクト]を選択します。すると、[新しいプロジェクト]ダイアログが表示されます。ダイアログの[プロジェクトの種類]から「Visual Basic」-「Office」を選択し、[テンプレート]から「Excel ブック」を選択します。プロジェクトの名前と作成場所を設定し、[OK]ボタンをクリックします。すると、Visual Studio Tools for Office プロジェクト ウィザード(図2)が表示されます。
図2
ここで、アプリケーションのドキュメントを選択します。今回は、新規で作成するため、図2 のように、「新規ドキュメントの作成」を選択し、ドキュメントの名前します。[OK]ボタンをクリックすると、図3 のように、Excel が埋め込まれた状態でプロジェクトが作成されます。
図3
続いて、[売上額]の表とグラフを作成します。データの入力方法や、グラフの作成方法は、通常の Excel と何ら変わりません。ここで作成したグラフは Excel 形式でグラフのタイプを変更することができますが、グラフの作成時、自動的にコントロール化されるため、プロパティによって変更することもできます。今回は、グラフのタイプをボタンによって切り替えます。[ツールボックス] から Button コントロールを選択し、xls ファイル内に貼り付け、下記のコードを実装します。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim type As Excel.XlChartType = Chart_2.ChartType
Select Case type
Case Excel.XlChartType.xlLineMarkers
type = Excel.XlChartType.xl3DColumnStacked
Button1.Text = "折れ線グラフ"
Case Excel.XlChartType.xl3DColumnStacked
type = Excel.XlChartType.xlLineMarkers
Button1.Text = "縦棒グラフ"
End Select
Chart_2.ChartType = type
End Sub リスト1
上記(リスト1)の「Dim type As Excel.XlChartType = Chart_2.ChartType」で作成したグラフのタイプを格納します。「type = Excel.XlChartType.xl3DColumnStacked」でグラフのタイプを縦棒グラフ(xl3DColumnStacked)にセットし、「type = Excel.XlChartType.xlLineMarkers」で折れ線グラフ(xlLineMarkers)にセットします。上記を実装し、プロジェクトを実行すると、図1 が表示されます。[縦線グラフ]ボタンをクリックすると、図4 のように縦線グラフに変更されます。
図4
また、図4 で[折れ線グラフ]ボタンをクリックすると、図1 のように折れ線グラフに変更されます