次の方法で共有


チュートリアル : 初めての Excel 用アプリケーション レベルのアドインの作成

この入門編のチュートリアルでは、Microsoft Office Excel 用のアプリケーション レベルのアドインを作成する方法について説明します。 この種のソリューションに作成した機能は、どのブックが開いているかにかかわらず、アプリケーション自体に対して使用できます。

対象: このトピックの情報は、Excel 2007 と Excel 2010 のアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

このチュートリアルでは、次の作業について説明します。

  • Excel 用の Excel アドイン プロジェクトを作成する。

  • Excel のオブジェクト モデルを使用して保存時にテキストをブックに追加するコードを記述する。

  • プロジェクトをビルドし、実行してテストする。

  • 完成したプロジェクトをクリーンアップして、開発用コンピューターでこのアドインが自動的に実行されないようにする。

注意

お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio の設定」を参照してください。

必須コンポーネント

このチュートリアルを実行するには、次のコンポーネントが必要です。

-

Microsoft Office 開発者ツールを含むエディションの Visual Studio 2010。 詳細については、「[Office ソリューションを開発できるようにコンピューターを構成する](bb398242\(v=vs.100\).md)」を参照してください。
  • Microsoft Office Excel 2007 または Excel 2010

プロジェクトの作成

Visual Studio で新しい Excel アドイン プロジェクトを作成するには

  1. Visual Studio を起動します。

  2. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

  3. テンプレート ペインで、[Visual C#] または [Visual Basic] を展開し、[Office] を展開します。

  4. 展開した [Office] ノードの下で、[2007] ノード (Excel 2007 がインストールされている場合) または [2010] ノード (Excel 2010 がインストールされている場合) を選択します。

  5. プロジェクト テンプレートの一覧で、[Excel 2007 アドイン] または [Excel 2010 アドイン] を選択します。

  6. [プロジェクト名] ボックスに「FirstExcelAddIn」と入力します。

  7. [OK] をクリックします。

    Visual Studio により FirstExcelAddIn プロジェクトが作成され、ThisAddIn コード ファイルがエディターで開かれます。

保存するブックにテキストを追加するコードの記述

次に、ThisAddIn コード ファイルにコードを追加します。 この新しいコードでは、Excel のオブジェクト モデルを使用して、アクティブなワークシートの最初の行に定型句を挿入します。 アクティブなワークシートとは、ユーザーがワークシートを保存したときに開いているワークシートです。 ThisAddIn コード ファイルには、次のコードが既定で含まれています。

  • ThisAddIn クラスの部分定義。 このクラスは、コードのエントリ ポイントを提供し、Excel のオブジェクト モデルへのアクセスを提供します。 詳細については、「アプリケーション レベルのアドインのプログラミング」を参照してください。 ThisAddIn クラスの残りの部分は、変更することができない非表示のコード ファイルに定義されています。

  • ThisAddIn_Startup イベント ハンドラーおよび ThisAddIn_Shutdown イベント ハンドラー。 これらのイベント ハンドラーは、Excel がアドインを読み込むときとアンロードするときに呼び出されます。 これらのイベント ハンドラーを使用して、読み込まれるときにはアドインを初期化し、アンロードされるときにはアドインが使用したリソースをクリーンアップします。 詳細については、「Office プロジェクトのイベント」を参照してください。

保存するブックにテキストの行を追加するには

  1. 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", missing);
        firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown, System.Type.Missing);
        Excel.Range newFirstRow = activeWorksheet.get_Range("A1", missing);
        newFirstRow.Value2 = "This text was added by using code";
    }
    
  2. C# を使用している場合は、次の必須のコードを ThisAddIn_Startup イベント ハンドラーに追加します。 このコードは、Application_WorkbookBeforeSave イベント ハンドラーを WorkbookBeforeSave イベントに接続するために使用します。

    this.Application.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(Application_WorkbookBeforeSave);
    

保存時にブックを変更するために、前のコード例では次のオブジェクトを使用しています。

プロジェクトのテスト

プロジェクトをテストするには

  1. F5 キーを押して、プロジェクトをビルドおよび実行します。

    プロジェクトをビルドすると、コードはアセンブリにコンパイルされ、プロジェクトのビルド出力フォルダーに保存されます。 さらに Visual Studio は、Excel がアドインを検出して読み込むようにする一連のレジストリ エントリを作成し、アドインを実行できるように開発用コンピューター上のセキュリティを設定します。 詳細については、「Office ソリューション ビルド処理の概要」を参照してください。

  2. Excel で、ブックを保存します。

  3. 次のテキストがブックに追加されることを確認します。

    This text was added by using code.

  4. Excel を終了します。

プロジェクトのクリーンアップ

プロジェクトの開発を完了したら、アドイン アセンブリ、レジストリ エントリ、およびセキュリティ設定を開発用コンピューターから削除します。 この操作を行わないと、今後も開発用コンピューター上で Excel を起動するたびにアドインが実行されます。

開発用コンピューターから完成したプロジェクトをクリーンアップするには

  • Visual Studio で、[ビルド] メニューの [ソリューションのクリーン] をクリックします。

次の手順

Excel 用の基本的なアプリケーション レベルのアドインを作成した後は、アドインの作成方法の詳細について、以下のトピックを参照してください。

参照

概念

Office ソリューションの開発の概要

Excel ソリューション

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

Excel オブジェクト モデルの概要

Office UI のカスタマイズ

Office ソリューションの配置

Office プロジェクト テンプレートの概要

その他の技術情報

Office ソリューションのビルドとデバッグ