Impossible de faire fonctionner la Class COM sous Vista et O

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Impossible de faire fonctionner la Class COM sous Vista et O

Re: Impossible de faire fonctionner la Class COM sous Vista et O

par Invité » 03 sept. 2009, 17:03

Bonjour,
J'ai le même problème avec la même config sauf pour Office qui est en version 2003.
Avez vous trouver une solution autre que d'utiliser le fichier XML ?

Merci d'avance,

Yon

par Bighead » 31 juil. 2009, 14:51

Bonjour,
Tu as raison Nolem, les fichiers par défaut sous Office 2007 sont *.xlsx pour excel *.docx pour Word
et ne sont ni plus ni moins des fichiers zippé contenant une architecture xml et autres. En renommant l'extension xlsx en zip, tu peux le décompacter avec winzip ou autres.
Plus mes recherches avance plus j'ai l'impression que l'on ne peut plus attaquer une classe COM sur Office 2007 comme sur 2003. Je vais regarder le format *.csv mais cela va m'obliger à revoir tout mes programmes :(

Merci pour ta remarque sur les DIE, je vais revoir.

@+

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par niuxe » 31 juil. 2009, 13:15

Hello,

Un fichier Excel absolument ? Pour les graphiques ? (:-k) As tu regardé le format *.csv (exportation *.xls -> *.csv) ? Ne connaissant pas très bien Office 2007, je sais que l'enregistrement par défaut d'un fichier Word par défaut est l'extension *.docx et il me semble qu'un fichier Excel natif d'Office 2007 est *.xlsx. J'avais lu quelque part, que ce sont des fichiers avec une arborescence *.xml.

Donc, ton erreur serait peut être de là.

@+

Au passage, je trouve que cette utilisation excessive du die ou du exit n'est peut être pas si bonne que cela. Si la class COM est bien faite, tu ne devrais pas avoir besoin d'un die ou d'un exit. ;)

par Bighead » 30 juil. 2009, 20:01

Merci pour ta réponse, je vais explorer ta piste et je communique le résultat.

par @rthur » 30 juil. 2009, 16:46

Bonjour,

Vu le message d'erreur, le problème est lié à Excel.

J'ai trouvé cela sur internet qui j'espère résoudra ton problème:
It seems that Excel disabled the worksheet and
thus causing the error in the script. To find out if this is the case, open
Excel, goto to About Microsoft Office Excel and then click the Disabled Items
button.

Impossible de faire fonctionner la Class COM sous Vista et O

par Bighead » 30 juil. 2009, 16:14

Bonjour à tous,

J'ai créé un programme en PHP qui fait appel à un fichier excel pour générer un fichier html formaté.
Pour ouvrir le fichier excel j'utilise la class COM :
$excel_app = new COM("Excel.application") or Die ("Did not connect");
$Workbook = $excel_app->Workbooks->Open("$filename") or Die("Did not open $filename $Workbook");
$Worksheet = $Workbook->Worksheets($sheet1);
$Worksheet->activate;
Ce programme fonctionnais très bien sous Windows XP avec Office 2003, depuis ma migration sous Vista entreprise et Office 2007, impossible d'ouvrir le fichier. J'ai le message suivant :
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Office Excel<br/><b>Description:</b> Impossible de lire la propriété Open de la classe Workbooks.'
Pour faire tourner ce programme j'utilise WampServeur 2.

A quoi cela est-il dû ? Vista, Office 2007 ou les deux. Existe-t-il une solution à mon problème ??

Merci d'avance