次の方法で共有


アプリケーション レベルのアドインのプログラミング

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • アプリケーション レベルのプロジェクト

Microsoft Office のバージョン

  • 2007 Microsoft Office system

  • Microsoft Office 2003

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Visual Studio Tools for Office アドインを作成して Microsoft Office アプリケーションを拡張するには、プロジェクトの ThisAddIn クラスにコードを直接記述します。このクラスを使用して、Microsoft Office ホスト アプリケーションのオブジェクト モデルへのアクセス、アプリケーションのユーザー インターフェイス (UI) のカスタマイズ、アドイン内のオブジェクトの他の Office ソリューションへの公開などのタスクを実行できます。

Visual Studio Tools for Office を使用して作成できるアプリケーション レベルのアドインやその他の種類のソリューションの一般的な情報については、「Office ソリューションの開発の概要」を参照してください。

アドイン プロジェクトのコードの記述

アドイン コードの記述は、ThisAddIn クラスから開始できます。このクラスは、Visual Studio Tools for Office によって、アドイン プロジェクト内の ThisAddIn.vb コード ファイル (Visual Basic の場合) または ThisAddIn.cs コード ファイル (C# の場合) に自動的に生成されます。

ThisAddIn クラスには、既定のイベント ハンドラが 2 つあります。アドインが読み込まれるときにコードを実行するには、ThisAddIn_Startup イベント ハンドラにコードを追加します。アドインがアンロードされる直前にコードを実行するには、ThisAddIn_Shutdown イベント ハンドラにコードを追加します。詳細については、「Visual Studio Tools for Office プロジェクトのイベント」を参照してください。

ThisAddIn クラスが備えるほとんどの機能は AddIn クラスから派生したものです。AddIn は、すべての Visual Studio Tools for Office アドインが共有するコア機能を提供します。AddIn クラスの詳細については、「AddIn ホスト項目」を参照してください。

ホスト アプリケーションのオブジェクト モデルへのアクセス

ホスト アプリケーションのオブジェクト モデルにアクセスするには、ThisAddIn クラスの Application フィールドを使用します。このフィールドは、ホスト アプリケーションの現在のインスタンスを表すオブジェクトを返します。

Application フィールドを使用して Microsoft Office Excel のアドインに新しいブックを作成する方法を、次のコード例に示します。このコード例は ThisAddIn クラスから実行することを前提としています。

Dim newWorkbook As Excel.Workbook = Me.Application.Workbooks.Add()
Excel.Workbook newWorkbook = this.Application.Workbooks.Add(System.Type.Missing);

同じ操作を ThisAddIn クラスの外側から実行するには、Globals オブジェクトを使用して ThisAddIn クラスにアクセスします。Globals オブジェクトの詳細については、「Visual Studio Tools for Office プロジェクト内のオブジェクトへのグローバル アクセス」を参照してください。

Dim newWorkbook As Excel.Workbook = Globals.ThisAddIn.Application.Workbooks.Add()
Excel.Workbook newWorkbook = Globals.ThisAddIn.Application.Workbooks.Add(System.Type.Missing);

各アドイン プロジェクトの Application フィールドについて、戻り値の型の一覧を、次の表に示します。

ホスト アプリケーション

戻り値の型

Microsoft Office Excel

Microsoft.Office.Interop.Excel.Application

Microsoft Office InfoPath

Microsoft.Office.Interop.InfoPath.Application

Microsoft Office Outlook

Microsoft.Office.Interop.Outlook.Application

Microsoft Office PowerPoint

Microsoft.Office.Interop.PowerPoint.Application

Microsoft Office Project

Microsoft.Office.Interop.MSProject.Application

Microsoft Office Visio

Microsoft.Office.Interop.Visio.Application

Microsoft Office Word

Microsoft.Office.Interop.Word.Application

Microsoft Office アプリケーションのユーザー インターフェイスのカスタマイズ

アプリケーション レベルのアドインを使用すると、Microsoft Office アプリケーションのユーザー インターフェイス (UI) をプログラムでカスタマイズできます。2007 Microsoft Office System のアプリケーションには、カスタマイズ可能ないくつかの異なる UI 機能があります。2007 Microsoft Office system のアプリケーションでは、リボン、カスタム作業ウィンドウ、Outlook フォーム領域など、一部異なる UI 機能をカスタマイズできます。詳細については、「Office UI のカスタマイズ」を参照してください。

Visual Studio Tools for Office には、カスタム作業ウィンドウの作成、リボンのカスタマイズ、および Outlook フォーム領域の作成に使用できる、デザイナとクラスが用意されています。これらのデザイナとクラスは、機能のカスタマイズ プロセスを簡略化するのに役立ちます。詳細については、「カスタム作業ウィンドウの概要」、「リボン デザイナ」、および「Outlook フォーム領域の作成」を参照してください。

Visual Studio Tools for Office のクラスやデザイナではサポートされていない方法でこれらの機能をカスタマイズする場合、アドインに機能拡張インターフェイスを実装することで、それを実現できます。詳細については、「機能拡張インターフェイスによる UI 機能のカスタマイズ」を参照してください。

Visual Studio 2008 Service Pack 1 (SP1) では、Word 文書や Excel ブックの動作を拡張するホスト項目を作成して、文書やブックの UI を変更することもできます。これにより、マネージ コントロールや Visual Studio Tools for Office スマート タグを文書やワークシートに追加することができます。詳細については、「アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張」を参照してください。

他の Office ソリューションからのアプリケーション レベルのアドインのコードの呼び出し

アドインのオブジェクトを他の Office ソリューションに公開できます。これは、作成したアドインが、他の Office ソリューションで使用可能なサービスを提供する場合に役立ちます。たとえば、Web サービスの財務データについて計算する Microsoft Office Excel のアドインがある場合、実行時に Excel アドインを呼び出すことによって、他の Office ソリューションがこれらの計算を実行できます。

詳細については、「他の Office ソリューションからのアプリケーション レベルのアドインのコードの呼び出し」を参照してください。

参照

処理手順

チュートリアル : アプリケーション レベルのアドインのコードを VBA から呼び出す

方法 : Visual Studio Tools for Office プロジェクトを作成する

概念

Office ソリューションの開発

AddIn ホスト項目

アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張

他の Office ソリューションからのアプリケーション レベルのアドインのコードの呼び出し

機能拡張インターフェイスによる UI 機能のカスタマイズ

アプリケーション レベルのアドインのアーキテクチャ