Compartilhar via


Passo a passo: Incorporação de informações de tipo de módulos (assemblies) Microsoft Office (C# e Visual Basic)

Se você inserir informações tipo em um aplicativo que faz referência a objetos COM, você pode eliminar a necessidade para um assembly de interoperabilidade primária (PIA).Além disso, as informações inserida de tipo permite que você obtenha a independência de versão para seu aplicativo.Isto é, o programa pode ser escrito para os tipos de uso de várias versões de uma biblioteca COM sem exigir um PIA específico para cada versão.Este é um cenário comum para aplicativos que usam objetos das bibliotecas Microsoft Office.Inserir informações de tipo permite a mesma versão de um programa para trabalhar com versões diferentes do Microsoft Office em computadores diferentes sem a necessidade de reimplantar o programa ou o PIA para cada versão do Microsoft Office.

Nessa explicação passo a passo, você executará as seguintes tarefas:

  • Para criar um aplicativo que funciona com várias versões do Microsoft Office.

  • Para publicar o aplicativo em um computador no qual uma versão diferente do Microsoft Office é instalado.

ObservaçãoObservação

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio.

Pré-requisitos

Essa explicação passo a passo requer o seguinte:

  • Um computador no qual Visual Studio e Microsoft Excel são instalados.

  • Um segundo computador no qual o .NET Framework 4 e uma versão diferente do excel são instalados.

Para criar um aplicativo que funciona com várias versões do Microsoft Office

  1. Início Visual Studio em um computador no qual o excel está instalado.

  2. No menu de Arquivo , escolha Novo, Projeto.

  3. Na caixa de diálogo de Novo Projeto , no painel de Tipos de projeto , certifique-se que está selecionado Janelas .Aplicativo de Console selecione no painel de Modelos .Na caixa de Nome , entre em CreateExcelWorkbook, e então escolha o botão de OK .O novo projeto é criado.

  4. Se você estiver usando Visual Basic, abra o menu de atalho para o projeto de CreateExcelWorkbook e escolha Propriedades.Escolha a guia de Referências .Escolha o botão Adicionar.Se você estiver usando Visual C#, em Gerenciador de Soluções, abra o menu de atalho para a pasta de Referências e escolha Adicionar Referência.

  5. Na guia do .NET , escolha a versão mais recente de Microsoft.Office.Interop.Excel.Por exemplo, Microsoft.Office.Interop.Excel 14.0.0.0.Escolha o botão OK.

  6. Na lista de referências para o projeto de CreateExcelWorkbook, selecione a referência para Microsoft.Office.Interop.Excel que você adicionou na etapa anterior.Na janela de Propriedades , certifique-se de que a propriedade de Embed Interop Types é definida como True.

    ObservaçãoObservação

    O aplicativo criado nessa explicação passo a passo é executado com versões diferentes do Microsoft Office devido às informações de tipo de interoperabilidade inserido.Se a propriedade de Embed Interop Types é definida como False, você deve incluir um PIA para cada versão do Microsoft Office qual o aplicativo será executado com.

  7. Se você estiver usando Visual Basic, abra o arquivo Module1.vb.Se você estiver usando Visual C#, abra o arquivo de Module.vb.Substitua o código no arquivo pelo código a seguir.

    Imports Excel = Microsoft.Office.Interop.Excel
    
    Module 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.
                ' In the For loop, both the row index and array index start at 1.
                ' Therefore the value of 4 at array index 0 is not included.
                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 Sub
    End 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.
                        // In the For loop, both the row index and array index start at 1.
                        // Therefore the value of 4 at array index 0 is not included.
                        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. Salvar o projeto.

  9. Pressione CTRL+F5 para compilar e executar o projeto.Verifique se uma pasta de trabalho do Excel foi criado no local especificado no código de exemplo: C:\SampleFolder\SampleWorkbook.xls.

Para publicar o aplicativo em um computador no qual uma versão diferente do Microsoft Office é instalado

  1. Abra o projeto criado por essa explicação passo a passo sobre Visual Studio.

  2. No menu, escolha Compilar de Publicar CreateExcelWorkbook.Siga as etapas do assistente de publicação para criar uma versão instalável do aplicativo.Para obter mais informações, consulte Publicar Assistente (desenvolvimento do Office em Visual Studio).

  3. Instale o aplicativo em um computador no qual o .NET Framework 4 e uma versão diferente do excel são instalados.

  4. Quando a instalação estiver concluída, execute o programa instalado.

  5. Verifique se uma pasta de trabalho do Excel foi criado no local especificado no código de exemplo: C:\SampleFolder\SampleWorkbook.xls.

Consulte também

Tarefas

Passo a passo: Incorporação de tipos a partir de Assemblies gerenciados (C# e Visual Basic)

Referência

/link (Visual Basic)

/link (Opções do compilador de C#)