チュートリアル: 初めての Excel 用 VSTO アドインを作成するWalkthrough: Create your first VSTO Add-in for Excel

この入門チュートリアルでは、Microsoft Office Excel 用のアプリケーション レベルのアドインを作成する方法について説明します。This introductory walkthrough shows you how to create an application-level Add-in for Microsoft Office Excel. この種のソリューションに作成した機能は、どのブックが開いているかにかかわらず、アプリケーション自体に対して使用できます。The features that you create in this kind of solution are available to the application itself, regardless of which workbooks are open.

適用対象: このトピックの情報は、VSTO の追加に適用されます-で Excel 用のプロジェクト。Applies to: The information in this topic applies to VSTO Add-in projects for Excel. 詳細については、「Office アプリケーションおよびプロジェクトの種類で使用できる機能」を参照してください。For more information, see Features available by Office application and project type.

Note

複数のプラットフォームにまたがる Office を拡張するソリューション開発に関心がありますか?Interested in developing solutions that extend the Office experience across multiple platforms? 新しい Office アドイン モデルをチェックして下さい。Check out the new Office Add-ins model. Office アドインは、VSTO アドインとソリューションに比べて小さなフット プリントを持ち、HTML5、JavaScript、CSS3、XML といった、ほぼすべての Web プログラミング テクノロジを使用して、それらをビルドすることができます。Office Add-ins have a small footprint compared to VSTO Add-ins and solutions, and you can build them by using almost any web programming technology, such as HTML5, JavaScript, CSS3, and XML.

このチュートリアルでは、次の作業について説明します。This walkthrough illustrates the following tasks:

  • Excel 用の Excel VSTO アドイン プロジェクトを作成する。Creating an Excel VSTO Add-in project for Excel.

  • Excel のオブジェクト モデルを使用して、保存時にテキストをブックに追加するコードを記述する。Writing code that uses the object model of Excel to add text to a workbook when it is saved.

  • プロジェクトをビルドし、実行してテストする。Building and running the project to test it.

  • 完成したプロジェクトをクリーンアップして、開発用コンピューターでこの VSTO アドインが自動的に実行されないようにする。Cleaning up the completed project so that the VSTO Add-in no longer runs automatically on your development computer.

    Note

    次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。The Visual Studio edition that you have and the settings that you use determine these elements. 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。For more information, see Personalize the IDE.

必須コンポーネントPrerequisites

このチュートリアルを実行するには、次のコンポーネントが必要です。You need the following components to complete this walkthrough:

プロジェクトの作成Create the project

Visual Studio で新しい Excel VSTO アドイン プロジェクトを作成するにはTo create a new Excel VSTO Add-in project in Visual Studio

  1. Visual StudioVisual Studioを起動します。Start Visual StudioVisual Studio.

  2. [ファイル] メニューの [新規作成] をポイントし、 [プロジェクト] をクリックします。On the File menu, point to New, and then click Project.

  3. テンプレート ペインで、 [Visual C#] または [Visual Basic] を展開してから、 [Office/SharePoint] を展開します。In the templates pane, expand Visual C# or Visual Basic, and then expand Office/SharePoint.

  4. 展開した [Office/SharePoint] ノードの下で、 [Office Add-ins] ノードを選択します。Under the expanded Office/SharePoint node, select the Office Add-ins node.

  5. プロジェクト テンプレートの一覧で、 [Excel 2010 アドイン] または [Excel 2013 アドイン] を選択します。In the list of project templates, select Excel 2010 Add-in or Excel 2013 Add-in.

  6. [名前] ボックスに、「 FirstExcelAddIn」と入力します。In the Name box, type FirstExcelAddIn.

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

    Visual StudioVisual Studio により FirstExcelAddIn プロジェクトが作成され、ThisAddIn コード ファイルがエディターで開かれます。creates the FirstExcelAddIn project and opens the ThisAddIn code file in the editor.

保存されたブックにテキストを追加するコードを記述するWrite code to add text to the saved workbook

次に、ThisAddIn コード ファイルにコードを追加します。Next, add code to the ThisAddIn code file. この新しいコードでは、Excel のオブジェクト モデルを使用して、アクティブなワークシートの最初の行に定型句を挿入します。The new code uses the object model of Excel to insert boilerplate text in the first row of the active worksheet. アクティブなワークシートとは、ユーザーがブックを保存したときに開いているワークシートのことです。The active worksheet is the worksheet that is open when the user saves the workbook. ThisAddIn コード ファイルには、次の生成コードが既定で含まれています。By default, the ThisAddIn code file contains the following generated code:

  • ThisAddIn クラスの部分定義。A partial definition of the ThisAddIn class. このクラスは、コードのエントリ ポイントを提供し、Excel のオブジェクト モデルへのアクセスを提供します。This class provides an entry point for your code and provides access to the object model of Excel. 詳細については、「プログラム VSTO アドイン」を参照してください。ThisAddIn クラスの残りの部分は、変更することができない非表示のコード ファイルに定義されています。For more information, see Program VSTO Add-ins. The remainder of the ThisAddIn class is defined in a hidden code file that you should not modify.

  • ThisAddIn_Startup および ThisAddIn_Shutdown イベント ハンドラー。The ThisAddIn_Startup and ThisAddIn_Shutdown event handlers. これらのイベント ハンドラーは、Excel が VSTO アドインを読み込むときとアンロードするときに呼び出されます。These event handlers are called when Excel loads and unloads your VSTO Add-in. これらのイベント ハンドラーを使用して、読み込まれるときには VSTO アドインを初期化し、アンロードされるときにはアドインが使用したリソースをクリーンアップします。Use these event handlers to initialize your VSTO Add-in when it is loaded, and to clean up resources used by your Add-in when it is unloaded. 詳細については、「 Office プロジェクトのイベント」を参照してください。For more information, see Events in Office projects.

保存するブックにテキストの行を追加するにはTo add a line of text to the saved workbook

  1. ThisAddIn コード ファイルで、次のコードを ThisAddIn クラスに追加します。In the ThisAddIn code file, add the following code to the ThisAddIn class. この新しいコードでは、ブックが保存されるときに発生する WorkbookBeforeSave イベントのイベント ハンドラーを定義します。The new code defines an event handler for the WorkbookBeforeSave event, which is raised when a workbook is saved.

    ユーザーがブックを保存すると、イベント ハンドラーによって新しいテキストがアクティブなワークシートの先頭に追加されます。When the user saves a workbook, the event handler adds new text at the start of the active worksheet.

    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";
    }
    
  2. C# を使用する場合は、次の必要なコードを ThisAddIn_Startup イベント ハンドラーに追加します。If you are using C#, add the following required code to the ThisAddIn_Startup event handler. このコードは、 Application_WorkbookBeforeSave イベント ハンドラーを WorkbookBeforeSave イベントに接続するために使用します。This code is used to connect the Application_WorkbookBeforeSave event handler with the WorkbookBeforeSave event.

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

    保存時にブックを変更するために、前のコード例では次のオブジェクトを使用しています。To modify the workbook when it is saved, the previous code examples use the following objects:

  • Application クラスの ThisAddIn フィールド。The Application field of the ThisAddIn class. Application フィールドは Excel の現在のインスタンスを表す Application オブジェクトを返します。The Application field returns a Application object, which represents the current instance of Excel.

  • Wb イベントのイベント ハンドラーの WorkbookBeforeSave パラメーター。The Wb parameter of the event handler for the WorkbookBeforeSave event. Wb パラメーターは、保存されるブックを表す Workbook オブジェクトです。The Wb parameter is a Workbook object, which represents the saved workbook. 詳細については、次の Excel オブジェクト モデルの概要を参照してください。For more information, see Excel object model overview.

プロジェクトをテストするTest the project

プロジェクトをテストするにはTo test the project

  1. F5 キーを押して、プロジェクトをビルドおよび実行します。Press F5 to build and run your project.

    プロジェクトをビルドすると、プロジェクトのビルド出力フォルダーに含まれるアセンブリにコードがコンパイルされます。When you build the project, the code is compiled into an assembly that is included in the build output folder for the project. さらに Visual Studio は、Excel が VSTO アドインを検出して読み込めるようにする一連のレジストリ エントリを作成し、VSTO アドインを実行できるように開発用コンピューター上のセキュリティを設定します。Visual Studio also creates a set of registry entries that enable Excel to discover and load the VSTO Add-in, and it configures the security settings on the development computer to enable the VSTO Add-in to run. 詳細については、「 Office ソリューションのビルド」を参照してください。For more information, see Build Office solutions.

  2. Excel で、ブックを保存します。In Excel, save the workbook.

  3. 次のテキストがブックに追加されていることを確認します。Verify that the following text is added to the workbook.

    This text was added by using code.This text was added by using code.

  4. Excel を終了します。Close Excel.

プロジェクトをクリーンアップするClean up the project

プロジェクトの開発が完了したら、VSTO アドイン アセンブリ、レジストリ エントリ、およびセキュリティ設定を開発用コンピューターから削除します。When you finish developing a project, remove the VSTO Add-in assembly, registry entries, and security settings from your development computer. そうしないと、開発用コンピューター上で Excel を起動するたびに VSTO アドインが実行され続けます。Otherwise, the VSTO Add-in will continue to run every time that you open Excel on your development computer.

開発用コンピューターから完成したプロジェクトをクリーンアップするにはTo clean up the completed project on your development computer

  1. Visual Studio で、 [ビルド] メニューの [ソリューションのクリーン] をクリックします。In Visual Studio, on the Build menu, click Clean Solution.

次の手順Next steps

これで Excel 用の基本的な VSTO アドインが作成されました。VSTO アドインの開発方法の詳細について、以下のトピックを参照してください。Now that you have created a basic VSTO Add-in for Excel, you can learn more about how to develop VSTO Add-ins from these topics:

関連項目See also