ID do artigo: 288902 - Última revisão: quarta-feira, 31 de janeiro de 2007 - Revisão: 9.3 Comportamento GetObject e CreateObject de servidores de automação do Office
Nesta páginaSumárioEste artigo descreve os diferentes comportamentos que ocorrem quando você usa as funções GetObject e CreateObject com várias versões dos aplicativos do Microsoft Office. GetObject e CreateObject são funções que são fornecidas pelo Microsoft Visual Basic e o Microsoft Visual Basic for Applications (VBA). No entanto, as informações também são aplicáveis ao Microsoft Visual C++ se tratar de referências a GetObject como chamadas ao GetActiveObject API e referências para CreateObject como chamadas ao CoCreateInstance API. Mais InformaçõesGetObjectGetObject é usado para anexar a uma instância em execução de um servidor de automação. Há algumas maneiras de chamar GetObject , mas a sintaxe é recomendada para o Microsoft Office aplicativos é o seguinte:Erro em tempo de execução '429': O componente ActiveX não é possível criar o objeto Se você souber o nome de um documento aberto nesse caso, você pode anexar a uma instância específica. Por exemplo, se uma instância do Excel está em execução com uma pasta de trabalho aberta chamada Book2, o código a seguir anexa com êxito a essa instância mesmo se não for a primeira instância que foi iniciada: CreateObjectCreateObject é usado para iniciar uma nova instância de um servidor de automação. Por exemplo:A tabela a seguir serve como uma referência útil ao implementar uma solução com o Microsoft Office. Ele lista comportamentos e atributos de várias versões e aplicativos do Microsoft Office, como se o servidor padrão sendo visíveis quando iniciado, se for SingleUse ou MultiUse, se ele tem um UserControl propriedade, se ele tiver um método Quit e o nome da classe para sua janela principal. Recolher esta tabela
O nome de classe de janela principal é útil para chamar FindWindow API quando você deseja descobrir convenientemente se qualquer instância já estiver sendo executado. O UserControl propriedade é uma propriedade booleana que indica se o aplicativo do servidor seja desligado quando a última referência é automaticamente lançado (definido como nada). O método Quit permite substituir a propriedade UserControl em casos onde é necessário (como quando uma instância não desliga após a última referência é lançada). Em geral, a Microsoft recomenda que você use uma nova instância de um aplicativo do Office em vez de anexar a uma instância que o usuário pode estar usando. É melhor criar uma instância usando o ProgID do aplicativo e em seguida, abrir ou criar novos objetos a partir daí. Outros ProgIDs, como Excel.Sheet Word.Document e assim por diante, servem para uso em OLE (vinculação de objeto e incorporação de objetos) e pode fornecer resultados inconsistentes quando usado com CreateObject . Usando o ProgID de aplicativo, você pode evitar possíveis problemas iniciando explicitamente o servidor para automação (não incorporar). Quando você tiver terminado com o servidor de automação, liberar todas as referências a ele e chamar seu método Quit (se disponível) para que o servidor é desligado conforme o esperado. Se você deseja configurar uma instância por meio de automação e, em seguida, deixe aberto para o usuário use, você precisará definir a propriedade UserControl como Verdadeiro e solte em todas as suas referências. O servidor, permanecerá executando (porque a propriedade UserControl é Verdadeiro ) e desligar corretamente quando o usuário fecha o aplicativo (porque não há nenhuma referência pendente). Observação Para o Word, a propriedade UserControl é somente leitura. Ela não pode ser definida como True ou False. Word sempre permanece em execução quando a última referência é liberada. ReferênciasPara obter mais informações sobre como usar o CreateObject/GetObject e para saber sobre algumas exceções e problemas com usando automação para Microsoft Office, clique os números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft: 222783
(http://support.microsoft.com/kb/222783/
)
PPT2000: CreateObject não criar nova sessão do PowerPoint 188546
(http://support.microsoft.com/kb/188546/
)
Erro: Iniciar manualmente o Word usa a mesma instância como automação 265385
(http://support.microsoft.com/kb/265385/
)
INFO: Automação do PowerPoint 97 e PowerPoint 2000 visualizadores 259940
(http://support.microsoft.com/kb/259940/
)
Erro: Word 2000 não fechar ao keybindings.ClearAll é chamado 258511
(http://support.microsoft.com/kb/258511/
)
COMO: Obter identificador de janela para aplicativo do Office para automação 249169
(http://support.microsoft.com/kb/249169/
)
PPT97: PowerPoint 97 permanece na memória após obtendo uma apresentação e ser fechado 159922
(http://support.microsoft.com/kb/159922/
)
XL97: Usando Salvar método pode causar uma operação ilegal A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: 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: 288902
(http://support.microsoft.com/kb/288902/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início