Movatterモバイル変換


[0]ホーム

URL:


メイン コンテンツにスキップ

このブラウザーはサポートされなくなりました。

Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

Microsoft Edge をダウンロードするInternet Explorer と Microsoft Edge の詳細情報
目次フォーカス モードの終了

チュートリアル: Microsoft Office アセンブリからの型情報の埋め込み (C# および Visual Basic)

  • 2011-08-09
フィードバック

この記事の内容

COM オブジェクトを参照するアプリケーションに型情報を埋め込むと、プライマリ相互運用機能アセンブリ (PIA: Primary Interop Assembly) を使用する必要がなくなります。 また、埋め込み型情報を使用することで、バージョンに依存しないアプリケーションを作成できます。 つまり、複数のバージョンの COM ライブラリの型を使用するようにプログラムを記述でき、バージョンごとに固有の PIA が不要になります。 この方法は、Microsoft Office ライブラリのオブジェクトを使用するアプリケーション向けの一般的なシナリオです。 型情報を埋め込むと、プログラムの同じビルドで、異なるコンピューター上にある異なるバージョンの Microsoft Office と連携できます。Microsoft Office のバージョンごとにプログラムや PIA を再配置する必要はありません。

このチュートリアルでは、次のタスクを行います。

  • Microsoft Office のオートメーション オブジェクトを使用するアプリケーションを作成し、Microsoft Office COM ライブラリの型情報を埋め込みます。

  • PIA を使用せずに、複数のバージョンの Microsoft Office と連携するアプリケーションを発行および実行します。

注意

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

必須コンポーネント

このチュートリアルの前提条件は次のとおりです。

  • Visual Studio および Microsoft Excel がインストールされたコンピューター。

  • .NET Framework 4 および別のバージョンの Excel がインストールされたコンピューター。

複数のバージョンの Microsoft Office と連携するアプリケーションを作成するには

  1. Excel がインストールされているコンピューターで Visual Studio を起動します。

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

  3. [新しいプロジェクト] ダイアログ ボックスの[プロジェクトの種類] ペインで、[Windows] が選択されていることを確認します。[テンプレート] ペインの[コンソール アプリケーション] を選択します。[プロジェクト名] ボックスに「CreateExcelWorkbook」と入力し、[OK] をクリックします。 新しいプロジェクトが作成されます。

  4. Visual Basic を使用している場合は、CreateExcelWorkbook プロジェクトを右クリックし、[プロパティ] をクリックします。[参照設定] タブをクリックします。[追加] ボタンをクリックします。 Visual C# を使用している場合は、ソリューション エクスプローラーで、[参照設定] フォルダーを右クリックし、[参照の追加] をクリックします。

  5. [.NET] タブで、最新バージョンの Microsoft.Office.Interop.Excel をクリックします。 たとえば、[Microsoft.Office.Interop.Excel 14.0.0.0] をクリックします。[OK] をクリックします。

  6. CreateExcelWorkbook プロジェクトの参照の一覧で、前の手順で追加した Microsoft.Office.Interop.Excel の参照を選択します。[プロパティ] ウィンドウで、Embed Interop Types プロパティが True に設定されていることを確認します。

    注意

    このチュートリアルで作成したアプリケーションは、相互運用の型情報が埋め込まれているため、異なるバージョンの Microsoft Office と連携して動作します。 Embed Interop Types プロパティを False に設定した場合は、このアプリケーションと連携して動作する Microsoft Office のバージョンごとに PIA を組み込む必要があります。

  7. Visual Basic を使用している場合は、Module1.vb ファイルをダブルクリックします。 Visual C# を使用している場合は、Program.cs ファイルをダブルクリックします。 ファイル内のコードを次のコードに置き換えます。

    Imports Excel = Microsoft.Office.Interop.ExcelModule Module1    Sub Main()        Dim values = {4, 6, 18, 2, 1, 76, 0, 3, 11}        CreateWorkbook(values, "C:\SampleFolder\SampleWorkbook.xls")    End Sub    Sub CreateWorkbook(ByVal values As Integer(), ByVal filePath As String)        Dim excelApp As Excel.Application = Nothing        Dim wkbk As Excel.Workbook        Dim sheet As Excel.Worksheet        Try            ' Start Excel and create a workbook and worksheet.            excelApp = New Excel.Application            wkbk = excelApp.Workbooks.Add()            sheet = CType(wkbk.Sheets.Add(), Excel.Worksheet)            sheet.Name = "Sample Worksheet"            ' Write a column of values.            For i = 1 To values.Length - 1                sheet.Cells(i, 1) = values(i)            Next            ' Suppress any alerts and save the file. Create the directory             ' if it does not exist. Overwrite the file if it exists.            excelApp.DisplayAlerts = False            Dim folderPath = My.Computer.FileSystem.GetParentPath(filePath)            If Not My.Computer.FileSystem.DirectoryExists(folderPath) Then                My.Computer.FileSystem.CreateDirectory(folderPath)            End If            wkbk.SaveAs(filePath)    Catch        Finally            sheet = Nothing            wkbk = Nothing            ' Close Excel.            excelApp.Quit()            excelApp = Nothing        End Try    End SubEnd Module
    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using Excel = Microsoft.Office.Interop.Excel;namespace CreateExcelWorkbook{    class Program    {        static void Main(string[] args)        {            int[] values = {4, 6, 18, 2, 1, 76, 0, 3, 11};            CreateWorkbook(values, @"C:\SampleFolder\SampleWorkbook.xls");        }        static void CreateWorkbook(int[] values, string filePath)        {            Excel.Application excelApp = null;            Excel.Workbook wkbk;            Excel.Worksheet sheet;            try            {                    // Start Excel and create a workbook and worksheet.                    excelApp = new Excel.Application();                    wkbk = excelApp.Workbooks.Add();                    sheet = wkbk.Sheets.Add() as Excel.Worksheet;                    sheet.Name = "Sample Worksheet";                    // Write a column of values.                    for (int i = 1; i < values.Length; i++)                    {                        sheet.Cells[i, 1] = values[i];                    }                    // Suppress any alerts and save the file. Create the directory                     // if it does not exist. Overwrite the file if it exists.                    excelApp.DisplayAlerts = false;                    string folderPath = Path.GetDirectoryName(filePath);                    if (!Directory.Exists(folderPath))                    {                        Directory.CreateDirectory(folderPath);                    }                    wkbk.SaveAs(filePath);            }            catch            {            }            finally            {                sheet = null;                wkbk = null;                // Close Excel.                excelApp.Quit();                excelApp = null;            }        }    }}
  8. プロジェクトを保存します。

  9. Ctrl キーを押しながら F5 キーを押して、プロジェクトをビルドおよび実行します。 プログラム例で指定した場所 (C:\SampleFolder\SampleWorkbook.xls) に Excel ブックが作成されていることを確認します。

別のバージョンの Microsoft Office がインストールされているコンピューターにアプリケーションを発行するには

  1. Visual Studio で、このチュートリアルで作成したプロジェクトを開きます。

  2. [ビルド] メニューの[CreateExcelWorkbook の発行] をクリックします。 発行ウィザードの手順に従って、アプリケーションのインストール可能なバージョンを作成します。 詳細については、「発行ウィザード」を参照してください。

  3. .NET Framework 4 および別のバージョンの Excel がインストールされているコンピューターに、アプリケーションをインストールします。

  4. インストールが完了したら、インストールしたプログラムを実行します。

  5. プログラム例で指定した場所 (C:\SampleFolder\SampleWorkbook.xls) に Excel ブックが作成されていることを確認します。

参照

処理手順

チュートリアル: マネージ アセンブリからの型の埋め込み (C# および Visual Basic)

参照

/link (Visual Basic)

/link (C# コンパイラ オプション)

この記事の内容