チュートリアル : 初めての Excel 用アプリケーション レベルのアドインの作成
この入門編のチュートリアルでは、Microsoft Office Excel 用のアプリケーション レベルのアドインを作成する方法について説明します。この種のソリューションに作成した機能は、どのブックが開いているかにかかわらず、アプリケーション自体に対して使用できます。
対象: このトピックの情報は、Excel 2013 と Excel 2010 のアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
このチュートリアルでは、次の作業について説明します。
Excel 用の Excel アドイン プロジェクトを作成する。
Excel のオブジェクト モデルを使用して保存時にテキストをブックに追加するコードを記述する。
プロジェクトをビルドし、実行してテストする。
完成したプロジェクトをクリーンアップして、開発用コンピューターでこのアドインが自動的に実行されないようにする。
[!メモ]
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
-
Microsoft Office Developer Tools が含まれているエディションの Visual Studio 2012。詳細については、「[Office ソリューションを開発できるようにコンピューターを構成する](bb398242\(v=vs.110\).md)」を参照してください。
- Excel 2013 または Excel 2010。
プロジェクトの作成
Visual Studio で新しい Excel アドイン プロジェクトを作成するには
Visual Studio を起動します。
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
テンプレート ペインで、または [Visual C#] **[Visual Basic]を展開し、[Office/SharePoint]**を展開します。
[Office/SharePoint] の展開したノードの下で、[Office Add-ins] のノードを選択します。
プロジェクト テンプレートの一覧で、[Excel 2010 アドイン] または [Excel 2013 アドイン] を選択します。
[プロジェクト名] ボックスに「FirstExcelAddIn」と入力します。
[OK] をクリックします。
Visual Studio により FirstExcelAddIn プロジェクトが作成され、ThisAddIn コード ファイルがエディターで開かれます。
保存するブックにテキストを追加するコードの記述
次に、ThisAddIn コード ファイルにコードを追加します。この新しいコードでは、Excel のオブジェクト モデルを使用して、アクティブなワークシートの最初の行に定型句を挿入します。アクティブなワークシートとは、ユーザーがワークシートを保存したときに開いているワークシートです。ThisAddIn コード ファイルには、次のコードが既定で含まれています。
ThisAddIn クラスの部分定義。このクラスは、コードのエントリ ポイントを提供し、Excel のオブジェクト モデルへのアクセスを提供します。詳細については、「アプリケーション レベルのアドインのプログラミング」を参照してください。ThisAddIn クラスの残りの部分は、変更することができない非表示のコード ファイルに定義されています。
ThisAddIn_Startup イベント ハンドラーおよび ThisAddIn_Shutdown イベント ハンドラー。これらのイベント ハンドラーは、Excel がアドインを読み込むときとアンロードするときに呼び出されます。これらのイベント ハンドラーを使用して、読み込まれるときにはアドインを初期化し、アンロードされるときにはアドインが使用したリソースをクリーンアップします。詳細については、「Office プロジェクトのイベント」を参照してください。
保存するブックにテキストの行を追加するには
ThisAddIn コード ファイルで、次のコードを ThisAddIn クラスに追加します。この新しいコードでは、ブックが保存されるときに発生する WorkbookBeforeSave イベントのイベント ハンドラーを定義します。
ユーザーがブックを保存すると、イベント ハンドラーによって新しいテキストがアクティブなワークシートの先頭に追加されます。
Private Sub Application_WorkbookBeforeSave(ByVal Wb As Microsoft.Office.Interop.Excel.Workbook, ByVal SaveAsUI As Boolean, ByRef Cancel As Boolean) Handles Application.WorkbookBeforeSave Dim activeWorksheet As Excel.Worksheet = CType(Application.ActiveSheet, Excel.Worksheet) Dim firstRow As Excel.Range = activeWorksheet.Range("A1") firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown) Dim newFirstRow As Excel.Range = activeWorksheet.Range("A1") newFirstRow.Value2 = "This text was added by using code" End Sub
void Application_WorkbookBeforeSave(Microsoft.Office.Interop.Excel.Workbook Wb, bool SaveAsUI, ref bool Cancel) { Excel.Worksheet activeWorksheet = ((Excel.Worksheet)Application.ActiveSheet); Excel.Range firstRow = activeWorksheet.get_Range("A1"); firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown); Excel.Range newFirstRow = activeWorksheet.get_Range("A1"); newFirstRow.Value2 = "This text was added by using code"; }
C# を使用している場合は、次の必須のコードを ThisAddIn_Startup イベント ハンドラーに追加します。このコードは、Application_WorkbookBeforeSave イベント ハンドラーを WorkbookBeforeSave イベントに接続するために使用します。
this.Application.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(Application_WorkbookBeforeSave);
保存時にブックを変更するために、前のコード例では次のオブジェクトを使用しています。
ThisAddIn クラスの Application フィールド。Application フィールドは Excel の現在のインスタンスを表す Microsoft.Office.Interop.Excel.Application オブジェクトを返します。
WorkbookBeforeSave イベントのイベント ハンドラーの Wb パラメーター。Wb パラメーターは、保存されるブックを表す Microsoft.Office.Interop.Excel.Workbook オブジェクトです。詳細については、「Excel オブジェクト モデルの概要」を参照してください。
プロジェクトのテスト
プロジェクトをテストするには
F5 キーを押して、プロジェクトをビルドおよび実行します。
プロジェクトをビルドすると、コードはアセンブリにコンパイルされ、プロジェクトのビルド出力フォルダーに保存されます。さらに Visual Studio は、Excel がアドインを検出して読み込むようにする一連のレジストリ エントリを作成し、アドインを実行できるように開発用コンピューター上のセキュリティを設定します。詳細については、「Office ソリューションのビルド」を参照してください。
Excel で、ブックを保存します。
次のテキストがブックに追加されることを確認します。
This text was added by using code.
Excel を終了します。
プロジェクトのクリーンアップ
プロジェクトの開発を完了したら、アドイン アセンブリ、レジストリ エントリ、およびセキュリティ設定を開発用コンピューターから削除します。この操作を行わないと、今後も開発用コンピューター上で Excel を起動するたびにアドインが実行されます。
開発用コンピューターから完成したプロジェクトをクリーンアップするには
- Visual Studio で、[ビルド] メニューの [ソリューションのクリーン] をクリックします。
次の手順
Excel 用の基本的なアプリケーション レベルのアドインを作成した後は、アドインの作成方法の詳細について、以下のトピックを参照してください。
アドインで実行できる一般的なプログラミング タスク : アプリケーション レベルのアドインのプログラミング
Excel アドインに固有のプログラミング タスク : Excel ソリューション
Excel のオブジェクト モデル ドキュメントの使用 : Excel オブジェクト モデルの概要
Excel のユーザー インターフェイス (UI: User Interface) のカスタマイズ (リボンへのカスタム タブの追加、独自のカスタム作業ウィンドウの作成など) : Office UI のカスタマイズ
Excel 用のアプリケーション レベルのアドインのビルドとデバッグ : Office ソリューションのビルド
Excel 用のアプリケーション レベルのアドインの配置 : Office ソリューションの配置