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

Traduções de Artigos Traduções de Artigos
Artigo: 224925 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Produtos do Microsoft Office poderão variar de uma versão para a seguinte. Normalmente, a biblioteca de tipos 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. Por conseguinte, se utilizar classes de moldagem gerado pelo ClassWizard para uma biblioteca de objectos Office com o código escrito com uma versão antiga da biblioteca de objectos, poderá receber o seguinte erro de compilação:
Erro C2660: (função): função não tem parâmetros (n)

Mais Informação

Para ilustrar, uma tal função mudou é o método Microsoft Word 2000 adicionar o objecto de documentos. Se tiver utilizado o ClassWizard para gerar wrappers de classe para as funções na biblioteca de tipos Microsoft Word 2000 e utilizar o código que funcionavam com o Microsoft Word 97, receberá o erro de compilação descrito anteriormente. A seguinte tabela descreve como pode corrigir este problema. Note que embora caso ilustrado se aplica ao código que automatiza especificamente o Word, as mesmas informações podem ser aplicadas a outras aplicações do Microsoft Office.

Com a biblioteca de tipo de Word 97, pode utilizar o seguinte código 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 tentar executar este código de biblioteca de tipos da Word 2000, receberá o erro de compilação C2660 "'Adicionar': função não tem 2 parâmetros" para a seguinte linha de código:
     oDoc = oDocs.Add(vtOptional,vtOptional);
				
para corrigir este problema, efectue os seguintes passos.
  1. Vá para o separador Exibir classe da janela da Área de trabalho do Project .
  2. Na lista de classes para a área de trabalho, faça duplo clique a classe de documentos para apresentar os respectivos membros.
  3. Localize a função Adicionar membros e verá que é esperado quatro argumentos. O código é apenas passar dois argumentos, assim, receber o erro de compilação.
  4. Consulte a ajuda do Visual Basic no Microsoft Word e localize o tópico para o adicionar método do objecto documentos determinar o tipo de dados para estes argumentos e/ou para determinar se os argumentos são opcionais. Neste caso, ambos os argumentos novos são opcionais.
  5. Regressar ao projecto e modifique a linha de código para ler infractor:
       oDoc = Docs.Add(vtOptional,vtOptional,vtOptional,vtOptional);
    					
  6. Recompile o projecto. Agora deverá compilar sem o erro.

Automatizar várias versões das aplicações do Office

Se pretender escrever código MFC que irá automatizar várias versões de uma aplicação do Microsoft Office, deverá utilizar o ClassWizard para gerar classes de moldagem a partir da biblioteca de tipos da versão mais antiga. Por exemplo, se desejar que o cliente de automatização para suportar o Microsoft Word 97 e 2000, utilize a biblioteca de tipo de Word 97 para as classes de moldagem. Do mesmo modo, se pretender que o cliente de automatização para suportar o Microsoft 2000 e 2002, utilize o tipo Word 2000 biblioteca para as classes de moldagem.

Referências

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

Propriedades

Artigo: 224925 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 224925

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