Interaction entre PHP et un objet COM

Petit nouveau ! | 4 Messages

04 mars 2015, 11:54

Bonjour,
Je travaille sous Windows avec WampServer et cela fonctionne très bien mais... quelqu'un
sait-il pourquoi, lorsque je crée un objet COM (Word, Excel ou OutLook , peu importe),
je ne peux pas rendre visible l'objet instancié ??

$objOutl = new COM("Outlook.Application");
$email = $objOutl->CreateItem(0);
$email->Visible = 1 (ou Visible = true); NE FONCTIONNE PAS !!!!!!!!!!!!!!!!!!!!!!
Ne puis-je faire apparaitre l'objet que je viens de créer ?
Faut-il un truc, machin, ?? qui servirait d'intermédiaire entre l'environnement Windows et PHP ?
Quelqu'un a une idée ??
Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

04 mars 2015, 12:47

Bonjour et bienvenue sur PHPfrance !

C'est assez galère le travail avec les objets COM pour les faire interagir et afficher.

J'ai déjà eu à gérer un cas du même genre il y a longtemps et après avoir cherché des semaines, ce qui m'avait débloqué c'était que les services sous Windows n'ont par défaut pas le droit d'afficher quelque chose sur le bureau.

Pour leur donner les droits, il faut faire Démarrer > Exécuter : services.msc
Dans la liste des services, choisir Apache (Wampapache probablement avec Wampserver), puis dans l'onglet "Connexion", cocher la case "Autoriser le service à interagir avec le bureau"

Je ne me souviens plus si il y avait d'autres points mais celui ci était celui qui m'avait donné le + de fil à retordre car très mal documenté à l'époque sur internet ;)
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 4 Messages

04 mars 2015, 16:35

Bonjour et merci pour cette réponse,
Je pense que c'est dans cette voie là qu'il faut creuser...
Pour ce qui est de ta solution, malheureusement, l'option à cocher "Autoriser le service à interagir avec le bureau" fait parti du "Compte système local", lequel ne m'autorise pas la création des "objets COM".
Je ne peux les créer qu'avec l'option "Ce compte" qui me demande mon identifiant et mot de passe.
Dommage car cela me paraissait prometteur...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

05 mars 2015, 01:47

Une autre piste :
Démarrer, Exécuter, dcomcnfg
Puis service de composants, ordinateurs, poste de travail, configuration DCOM
Là tu fais un clic droit sur "Microsoft Excel Application", Propriétés, Identité et cocher la case "L'utilisateur interactif"
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 4 Messages

05 mars 2015, 15:31

Alors là, mystère et boule de gomme.
Je n'ai aucun composant Microsoft Access,Excel, Outlook ou Word.
Est-ce normal ??? Mais peut-être que oui ! En entreprise les packs Office
sont installés à distance.