Share via


Demonstra Passo a passo: A incorporação de informações de tipo de Assemblies de Microsoft Office (C# e Visual Basic)

Se você incorporar informações de tipo em um aplicativo que faz referência a objetos COM, você pode eliminar a necessidade de um assembly de interoperabilidade primária (PIA). Além disso, as informações de tipo incorporado permite que você para atingir a independência de versão para o seu aplicativo. Ou seja, seu programa pode ser escrito para usar os tipos 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 de bibliotecas de Microsoft Office. A incorporação de informações de tipo permite que a mesma compilação de um programa para funcionar com versões diferentes de Microsoft Office em computadores diferentes sem precisar reimplantar um programa ou o PIA para cada versão do Microsoft Office.

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

  • Crie um aplicativo que usa objetos de automação a partir de Microsoft Office e incorpora o tipo de informação das bibliotecas COM Microsoft Office.

  • Publicar e executar o aplicativo com várias versões do de Microsoft Office sem um PIA.

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 do Visual Studio.

Pré-requisitos

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

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

  • Um computador no qual .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. Iniciar Visual Studio em um computador em que o Excel está instalado.

  2. No menu File, aponte para New e clique Project.

  3. No Novo projeto na caixa de Tipos de projeto painel, certifique-se de que Windows está selecionada. Selecione Aplicativo de Console na modelos de painel. No nome , digite CreateExcelWorkbooke em seguida, clique em OK. O novo projeto é criado.

  4. Se você estiver usando Visual Basic, o botão direito do mouse no projeto CreateExcelWorkbook e em Propriedades. Clique na aba References. Clique no botão Add. Se você estiver usando Visual C#, na Solution Explorer, com o botão direito do referências pasta e clique Adicionar referência de.

  5. Sobre o .NET , clique em uma versão mais recente do Microsoft.Office.Interop.Excel. Por exemplo, Microsoft.Office.Interop.Excel 14.0.0.0. Clique em OK.

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

    ObservaçãoObservação

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

  7. Se você estiver usando Visual Basic, clique duas vezes no arquivo de Module1. Se você estiver usando Visual C#, clique duas vezes no arquivo Program. cs. Substitua o código no arquivo com o 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.
                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.
                        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. Salve o projeto.

  9. Pressione CTRL + F5 para compilar e executar o projeto. Verifique se foi criada uma pasta de trabalho do Excel 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 está instalada.

  1. Abra o projeto criado por este passo a passo na Visual Studio.

  2. Sobre o Build menu, clique em 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 Assistente de publicação.

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

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

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

Consulte também

Tarefas

Demonstra Passo a passo: Tipos de incorporação de Assemblies gerenciados (C# e Visual Basic)

Referência

/link (Visual Basic)

/link ( Opçõesdo compilador TRANSLATION FROM VPE FOR CSHARP)