Este artigo demonstra como utilizar o Windows Installer
para localizar o caminho de instalação de aplicações do Microsoft Office.
Versões do Microsoft Office superior a 2000 não incluem informações sobre o caminho em que as hiperligações de atalho quando instalado. Isto é efectuado para que possa ser utilizada a opção "Executar na primeira utilização". Quando esta opção é utilizada, os atalhos serão apresentados, mas as aplicações não serão instaladas no disco rígido. Quando clica no atalho pela primeira vez, as aplicações serão instaladas.
Pode utilizar o Windows Installer para obter o caminho de
a aplicação do Office 2000 instalada. Siga os passos indicados abaixo para criar um
aplicação de consola que reporta o directório do Office instalado
aplicação.
A amostra de construção
- Criar uma aplicação de consola em branco no Visual
C++.
- Criar um novo ficheiro denominado main.cpp e cole o seguinte código na janela de código.
#include <windows.h>
#include <msi.h>
#include <ostream.h>
const char *Word = "{CC29E963-7BC2-11D1-A921-00A0C91E2AA2}";
const char *Excel = "{CC29E96F-7BC2-11D1-A921-00A0C91E2AA2}";
const char *PowerPoint = "{CC29E94B-7BC2-11D1-A921-00A0C91E2AA2}";
const char *Access = "{CC29E967-7BC2-11D1-A921-00A0C91E2AA2}";
const char *Office = "{00000409-78E1-11D2-B60F-006097C998E7}";
int main(void)
{
DWORD size = 300;
INSTALLSTATE installstate;
char *sPath;
sPath = new char[size];
installstate = MsiLocateComponent(Word,sPath,&size);
if ((installstate == INSTALLSTATE_LOCAL) ||
(installstate == INSTALLSTATE_SOURCE))
cout << "Installed in: " << sPath << endl;
delete sPath;
return 0;
} - Faça clique sobre o Projecto menu e, em seguida, clique em Definições Para abrir a caixa de diálogo de definições do projecto.
- Faça clique sobre o Hiperligação separador e adicionar MSI.lib na lista de Biblioteca de objectos / módulos.
- Execute o programa. Será apresentado o caminho do ficheiro em que
Microsoft Word está instalado.
NOTA: Incluída no código são os GUIDS associados com o Word, Excel,
O PowerPoint e Access. Para localizar o caminho para outra aplicação do Office, passar
o nome da aplicação como o segundo parâmetro da MsiGetComponentPath
função.
Para localizar o caminho de uma aplicação do Office XP, substitua o
constantes acima com o seguinte.
const char *Word = "{8E46FEFA-D973-6294-B305-E968CEDFFCB9}";
const char *Excel = "{5572D282-F5E5-11D3-A8E8-0060083FD8D3}";
const char *PowerPoint = "{FC780C4C-F066-40E0-B720-DA0F779B81A9}";
const char *Access = "{CC29E967-7BC2-11D1-A921-00A0C91E2AA3}";
const char *Office = "{20280409-6000-11D3-8CFE-0050048383C9}";
Para localizar o caminho de uma aplicação do Office 2003, substituir as constantes
acima com o seguinte.
const char *Word = "{1EBDE4BC-9A51-4630-B541-2561FA45CCC5}";
const char *Excel = "{A2B280D4-20FB-4720-99F7-40C09FBCE10A}";
const char *PowerPoint = "{C86C0B92-63C0-4E35-8605-281275C21F97}";
const char *Access = "{F2D782F8-6B14-4FA4-8FBA-565CDDB9B2A8}";
const char *Office = "{90110409-6000-11D3-8CFE-0150048383C9}";
Para localizar o caminho de uma aplicação do Office de 2007, substitua as constantes
acima com o seguinte.
const char *Word = "{0638C49D-BB8B-4CD1-B191-051E8F325736}";
const char *Excel = "{0638C49D-BB8B-4CD1-B191-052E8F325736}";
const char *PowerPoint = "{0638C49D-BB8B-4CD1-B191-053E8F325736}";
const char *Access = "{0638C49D-BB8B-4CD1-B191-054E8F325736}";
const char *Office = "{0638C49D-BB8B-4CD1-B191-050E8F325736}";
Para localizar o caminho de uma aplicação do Office 2010 de 32 bits, substitua as constantes
acima com o seguinte.
const char *Word = "{019C826E-445A-4649-A5B0-0BF08FCC4EEE}";
const char *Excel = "{538F6C89-2AD5-4006-8154-C6670774E980}";
const char *PowerPoint = "{E72E0D20-0D63-438B-BC71-92AB9F9E8B54}";
const char *Access = "{AE393348-E564-4894-B8C5-EBBC5E72EFC6}";
const char *Office = "{398E906A-826B-48DD-9791-549C649CACE5}";
Para localizar o caminho de uma aplicação do Office 2010 de 64 bits, substitua as constantes
acima com o seguinte.
const char *Word = "{C0AC079D-A84B-4CBD-8DBA-F1BB44146899}";
const char *Excel = "{8B1BF0B4-A1CA-4656-AA46-D11C50BC55A4}";
const char *PowerPoint = "{EE8D8E0A-D905-401D-9BC3-0D20156D5E30}";
const char *Access = "{02F5CBEC-E7B5-4FC1-BD72-6043152BD1D4}";
const char *Office = "{E6AC97ED-6651-4C00-A8FE-790DB0485859}";
Para mais informações sobre a automatização do Office, visite o
Site de suporte do Microsoft Office Development em:
Artigo: 234788 - Última revisão: quinta-feira, 30 de Maio de 2013 - Revisão: 8.0
A informação contida neste artigo aplica-se a:
- Microsoft Office Access 2007
- Microsoft Office Excel 2007
- Microsoft Office PowerPoint 2007
- Microsoft Office Word 2007
- Microsoft Office Access 2003
- Microsoft Office PowerPoint 2003
- Microsoft Access 2002 Standard Edition
- Microsoft Excel 2002 Standard Edition
- Microsoft PowerPoint 2002 Standard Edition
- Microsoft Word 2002 Standard Edition
- Microsoft Access 2000 Standard Edition
- Microsoft Excel 2000 Standard Edition
- Microsoft PowerPoint 2000 Standard Edition
- Microsoft Word 2000 Standard Edition
- Microsoft Word 2010
- Microsoft Excel 2010
- Microsoft PowerPoint 2010
- Microsoft Access 2010
- Microsoft Office Professional 2010
| kbhowto kbmt KB234788 KbMtpt |
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 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:
234788
(http://support.microsoft.com/kb/234788/en-us/
)