Compartilhar via


Instruções passo a passo: inserindo informações de tipo dos Microsoft Office Assemblies (C# e Visual Basic)

Se você inserir informações do tipo inserido em um aplicativo que faz referência a objetos COM, poderá eliminar a necessidade para um assembly de interoperabilidade primária (PIA). Além disso, as informações de tipo inseridas permitem que você obtenha a independência de versão para seu aplicativo. OU seja, seu programa pode ser escrito para usar tipos de várias versões de uma biblioteca COM sem exigir um PIA específico para cada versão. Esse é um cenário comum para aplicativos que usam objetos das bibliotecas do Microsoft Office. Inserir informações de tipo ativa a mesma compilaçã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 publicar o aplicativo em um computador no qual uma versão diferente do Microsoft Office está instalada.

  • Para publicar o aplicativo em um computador no qual uma versão diferente do Microsoft Office está instalada.

Dica

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 Personalizando configurações de desenvolvimento no Visual Studio.

Pré-requisitos

Este passo a passo requer o seguinte:

  • Um computador em que o Visual Studio e o Microsoft Excel estão instalados.

  • Um segundo computador onde o .NET Framework 4 e uma versão diferente do Excel estão instalados.

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

  1. Inicie o Visual Studio em um computador em que o Excel está instalado.

  2. No menu Arquivo, escolha Novo Projeto.

  3. Na caixa de diálogo Novo Projeto, no painel Tipo de Projeto, verifique se Windows está selecionado. Selecione Aplicativo Console no painel Modelos. Na caixa Nome, insira CreateExcelWorkbook e escolha o botão OK. O novo projeto é criado.

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

  5. Na guia .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 CreateExcelWorkbook, selecione a referência para Microsoft.Office.Interop.Excel adicionada na etapa anterior. Na janela Propriedades, verifique se a propriedade Embed Interop Types está definida como True.

    Dica

    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 Embed Interop Types é definida como False, você deve incluir um PIA para cada versão do Microsoft Office com a qual o aplicativo será executado.

  7. Se você estiver usando o Visual Basic, abra o arquivo Module1.vb. Se você estiver usando o Visual C#, abra o arquivo Program.cs. 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 criada 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 essa explicação passo a passo no Visual Studio.

  2. No menu Compilar, escolha 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 (desenvolvimento do Office no Visual Studio).

  3. Instale o aplicativo em um computador onde o .NET Framework 4 e uma versão diferente do Excel estejam instalados.

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

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

Consulte também

Tarefas

Instruções passo a passo: inserindo tipos de assemblies gerenciados (C# e Visual Basic)

Referência

/link (Visual Basic)

/link (opções do compilador C#)