ERRO: Mensagem de erro ao automatizar o Excel 2002 "Old Format or Invalid Type Library"

Traduções de Artigos Traduções de Artigos
Artigo: 320369 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Se automatizar o Microsoft Excel 2002 com o Microsoft Visual Basic .NET, Microsoft Visual C# .NET ou o Microsoft Visual C++, poderá receber a seguinte mensagem ao chamar determinados métodos:
Error: 0x80028018 (-2147647512)
Description: Old Format or Invalid Type Library

Causa

Receberá esta mensagem ao chamar um método do Excel quando as seguintes condições se verificarem:
  • Utilizou antecipadamente a ligação para chamar o método. - e -

  • Este método requer um LCID (identificador de local). - e -

  • Executou uma versão em inglês do Excel 2002, mas as versões regionais do computador estão configuradas para um idioma diferente.
Se o computador cliente está a executar a versão em inglês do Microsoft Excel 2002 e a localização do utilizador actual está configurada para um idioma diferente, o Excel tenta localizar o pacote do idioma para o idioma configurado. Se este pacote não for localizado, aparece um erro.

Resolução

Para contornar este problema:
  • Defina a informação da localização actual para inglês antes de chamar o Excel. Por exemplo:
    System.Threading.Thread.CurrentThread.CurrentCulture =
        System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
    					
    -ou-

  • Utilize uma ligação posterior e não uma anterior. - ou -

  • Instale o Microsoft Office XP Multilingual User Interface Pack. Para obter mais informações sobre este produto, visite o seguinte Web site da Microsoft:

    Disponibilidade do Office XP com o Multilingual User Interface Pack
    http://www.microsoft.com/office/evaluation/indepth/multilingual/muipackavailable.asp

Ponto Da Situação

A Microsoft confirma que este erro ocorre nos produtos referidos na secção "A informação contida neste artigo aplica-se a".

Mais Informação

Passos para reproduzir este comportamento

  1. Verifique se a localização do computador está definida para um idioma diferente do inglês:
    1. No Painel de controlo do Windows, faça duplo clique em Opções regionais
    2. Clique no separador Geral seleccione uma localização e, em seguida, clique em OK.
  2. Inicie o Microsoft Visual Studio .NET.
  3. No menu File, aponte para New e, em seguida, clique em Project. Na caixa de diálogo New Project, em Project Types, clique Visual Basic Projects. Em Templates, clique em Windows Application e, em seguida, clique em OK. Por predefinição, é criado o Form1.
  4. Adicione uma referência a Microsoft Excel 10.0 Object Library:
    1. No menu Project, clique em Add Reference.
    2. Na caixa de diálogo Add Reference, clique no separador COM, seleccione Microsoft Excel 10.0 Object Library e, em seguida, clique no botão Select.
    3. Para aceita a selecção, clique em OK.
  5. No menu View, clique em Toolbox e, em seguida, adicione um botão ao Form1.
  6. Para visualizar a janela de código do formulário, faça duplo clique em Button1.
  7. Na janela do código, 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. Prima a tecla F5 para criar e executar o programa.
  10. Para criar o erro, clique em Button1. Este erro ocorre na linha em que se lê:
    oDoc = oApp.Workbooks.Add					

Referências

Para mais informações acerca da automatização do Office, visite o Web site Microsoft Office Development:
http://support.microsoft.com/ofd

Para mais informações, consulte os seguintes artigos da base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
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 Visual C# .NET

Propriedades

Artigo: 320369 - Última revisão: 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