INFO: Bibliotecas de tipos para o Office podem alterar com a nova versão

Traduções deste artigo Traduções deste artigo
ID do artigo: 224925 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Produtos do Microsoft Office podem alterar de uma versão para a próxima. Normalmente, a biblioteca de tipo para um produto do Office terão as mesmas funções que estavam presentes na versão anterior do produto, mas algumas funções podem ter adições ao número de argumentos. Portanto, se você usar classes de wrapper gerado ClassWizard para uma biblioteca de objeto do Office com código escrito em relação a uma versão anterior da biblioteca de objetos, você pode receber o seguinte erro de compilação:
Erro C2660: '(função)': função não requer parâmetros (n)

Mais Informações

Para ilustrar, uma função de tal que foi alterado é o método Add do Microsoft Word 2000 do objeto documentos. Se você tiver usado o ClassWizard para gerar classe wrappers para as funções na biblioteca de tipos Microsoft Word 2000 e usar o código que funcionavam com o Microsoft Word 97, você receberá o erro de compilação descrito anteriormente. A seguir descreve como você pode corrigir esse problema. Observe que, embora o caso ilustrado se aplica ao código que automatiza especificamente Word, as mesmas informações podem ser aplicadas aos outros aplicativos Microsoft Office.

Com a biblioteca de tipos Word 97, você pode usar o código a seguir para automatizar o Word e iniciar um novo documento:
   _Application oApp;
   Documents oDocs;
   _Document oDoc;
   COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR),
               vtTrue((short)TRUE),
               vtFalse((short)FALSE);

   // Create an instance of Word
   if (!oApp.CreateDispatch("Word.Application")) 
   {
      AfxMessageBox("Word failed to start!");
      return;
   } 
	
   // Add a new document and make Word visible
   oDocs = oApp.GetDocuments();
   oDoc = oDocs.Add(vtOptional,vtOptional);
   oApp.SetVisible(TRUE);
				
se você tentar executar este código em relação a biblioteca de tipos Word 2000, você receberá o erro de compilação C2660 "'Adicionar': função não requer 2 parâmetros" para a seguinte linha de código:
     oDoc = oDocs.Add(vtOptional,vtOptional);
				
para corrigir esse problema, você pode executar as seguintes etapas.
  1. Vá para a guia ClassView da janela do Espaço de trabalho do projeto .
  2. Na lista de classes para seu espaço de trabalho, clique duas vezes a classe de documentos para exibir seus membros.
  3. Localize a função Adicionar membro e você verá que ele está esperando quatro argumentos. Seu código está passando apenas dois argumentos, portanto, você receberá o erro de compilação.
  4. Consulte a Ajuda do Visual Basic no Microsoft Word e localizar o tópico para o método Add do objeto documentos para determinar o tipo de dados para usar para esses argumentos e/ou para determinar se os argumentos são opcionais. Nesse caso, os dois novos argumentos são opcionais.
  5. Retornar ao seu projeto e modificar a linha de código para ler incorreta:
       oDoc = Docs.Add(vtOptional,vtOptional,vtOptional,vtOptional);
    					
  6. Recompile o projeto. Ela agora deve compilar sem o erro.

Automatizando várias versões de aplicativos do Office

Se você pretende escrever código MFC que automatizará várias versões de um aplicativo do Microsoft Office, você deve usar o ClassWizard para gerar classes de wrapper da biblioteca de tipo de versão mais antiga. Por exemplo, se você quiser que o cliente de automação para oferecer suporte ao Microsoft Word 97 e 2000, use a biblioteca de tipos Word 97 para suas classes de wrapper. Da mesma forma, se desejar que o cliente de automação para oferecer suporte a Microsoft 2000 e 2002, use o tipo Word 2000 biblioteca para suas classes de wrapper.

Referências

Para obter mais informações sobre automação do Office, visite o site de suporte desenvolvimento do Microsoft Office em:
http://support.microsoft.com/ofd

Propriedades

ID do artigo: 224925 - Última revisão: domingo, 23 de fevereiro de 2014 - Revisão: 5.4
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Foundation Class Library 4.2
Palavras-chave: 
kbnosurvey kbarchive kbmt kbautomation kbinfo KB224925 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 224925

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