BUG: Erro "Old Format or Invalid Type Library" ao Automatizar o Excel 2002

Traduções deste artigo Traduções deste artigo
ID do artigo: 320369 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Ao automatizar o Microsoft Excel 2002 com o Microsoft Visual Basic .NET, Microsoft Visual C# .NET ou o Microsoft Visual C++, você poderá receber o seguinte erro ao chamar determinados métodos:
Erro: 0x80028018 (-2147647512)
Descrição: Old Format or Invalid Type Library

Causa

Esse erro aparece ao chamar um método do Excel quando as seguintes condições forem verdadeiras:
  • Você usa uma vinculação anterior para chamar o método. -e-

  • O método solicita um identificador de localidade (LCID). -e-

  • Você executa uma versão em inglês do Excel 2002, mas as configurações regionais para o computador correspondem a outro idioma que não o inglês.
Se o computador cliente executar uma versão em inglês do Microsoft Excel 2002, e o local para o usuário atual estiver configurado para outro idioma, o Excel irá tentar localizar o pacote de idioma para o idioma configurado. Caso não seja encontrado um pacote de idiomas, o erro será informado.

Resolução

Como solução alternativa para esse problema, você pode:
  • Definir a informação de cultura do segmento atual para inglês antes de criar uma instância do Excel. Por exemplo:
    System.Threading.Thread.CurrentThread.CurrentCulture =
        System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
    					
    -ou-

  • Use a vinculação posterior e não a anterior. -ou-

  • Instale o Pacote de Interface do Usuário Multilíngüe do Microsoft Office XP. Para obter mais informações sobre esse produto, visite o seguinte site da Microsoft na Web:

    Disponibilidade do Office XP com o Pacote de Interface do Usuário Multilíngüe
    http://www.microsoft.com/office/evaluation/indepth/multilingual/muipackavailable.asp

Situação

A Microsoft informa que, o(s) produto(s) da(s) empresa(s) listado(s) na secção "Aplica-se" deste artigo, podem apresentar problemas.

Mais Informações

Passos para Reproduzir o Problema

  1. Verifique se o local do computador está definido para um idioma que não seja o inglês.
    1. No Painel de Controle do Windows, clique duas vezes em Opções Regionais.
    2. Na guia Geral, selecione um local e então clique em OK .
  2. Inicie o Microsoft Visual Studio .NET.
  3. No menu Arquivo, aponte para Novo, e então clique em Projeto. Na caixa de diálogo Novo Projeto, em Tipos de Projeto, clique em Projetos do Visual Basic. Em Modelos, clique em Aplicativo do Windows, e então em OK. Por padrão, é criado Form1.
  4. Adicione uma referência à Biblioteca de Objeto do Microsoft Excel 10.0.
    1. No menu Projeto, clique em Adicionar Referência.
    2. Na caixa de diálogo Adicionar Referência, clique na guia COM, selecione Biblioteca de Objeto do Microsoft Excel 10.0, e então clique no botão Selecionar.
    3. Para aceitar a seleção, clique em OK.
  5. No menu Exibir, clique em Caixa de Ferramentas, e então adicione um botão ao Form1.
  6. Para exibir a janela de código para o formulário, clique duas vezes em Button1.
  7. Na janela de códigos, substitua o seguinte código
    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) _
                              Handles Button1.Click
    End Sub
    					
    por:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim oApp As Excel.Application
        Dim oDoc As Excel.Workbook
    
        oApp = New Excel.Application()
        oApp.Visible = True
        oDoc = oApp.Workbooks.Add
        oDoc.Close()
        oApp.Quit()
    
        oDoc = Nothing
        oApp = Nothing
    End Sub
    					
  8. Adicione o seguinte código na parte superior do Form1.vb:
    Imports Microsoft.Office.Interop
    					
  9. Pressione F5 para criar e executar o programa.
  10. Para gerar o erro, clique em Button1. O erro ocorre na linha que lê:
    oDoc = oApp.Workbooks.Add
    					

Referências

Para obter mais informações sobre a Automação do Office, acesse o seguinte site de Desenvolvimento do Microsoft Office na Web:
http://support.microsoft.com/ofd

Além disso, consulte os seguintes artigos da Base de Dados de Conhecimento da Microsoft:
307029 HOW TO: Transfer XML Data to Microsoft Excel 2002 by Using Visual C# .NET
307021 HOW TO: Transfer XML Data to Microsoft Excel 2002 by Using Visual Basic .NET
301982 HOWTO: Automate Microsoft Excel from Visual Basic .NET
302084 HOWTO: Automate Microsoft Excel from Microsoft Visual C# .NET

Propriedades

ID do artigo: 320369 - Última revisão: sexta-feira, 21 de julho de 2006 - Revisão: 4.2
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C++ 6.1
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Visual J# .NET 2003 Standard Edition
Palavras-chave: 
kbautomation kbbug kbpending KB320369

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com