IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Object COM et office 2010


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Responsable développement
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable développement

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Object COM et office 2010
    Bonjour,

    Je souhaite utiliser un fichier Excel afin de réaliser des calculs (fichier créé et modifiable par le client). Je ne veux pas utiliser une classe Mock comme PHPExcel pour être sûr de la fiabilité des résultats.
    J'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
        $excel = new COM("Excel.Application") or die ("ERROR: Unable to instantaniate COM");
        $excel->Visible = false;
        $file = dirname(__FILE__).'\\calcul.xls';
        $excel->DisplayAlerts = false;
        $Workbook = $excel->Workbooks->Open(realpath($file)) or die("ERROR: Unable to open " . $file . "!\r\n");
    ?>
    Tout fonctionne avec Excel 2003. J'obtiens le message d'erreur suivant avec Excel 2010 :
    com_exception: Source: Microsoft Excel
    Description: Microsoft Excel ne peut accéder au fichier « C:\xampp\htdocs\calcul\calcul.xls ». Plusieurs raisons sont possibles : • Le nom du fichier ou le chemin d'accès n’existe pas. • Ce fichier est actuellement utilisé par un autre programme. • Le classeur que vous essayez d’enregistrer porte le même nom qu’un classeur actuellement ouvert. in C:\xampp\htdocs\calcul\calcul.php on line 5
    A noter que le script fonctionne correctement en ligne de commande à l'aide de la commande suivante en fenêtre DOS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c:\xampp\php\php.exe -f c:\xampp\htdocs\calcul\calcul.php
    J'aurais tendance à penser à un problème de droits ou quelque chose comme ça, mais...

    Quelqu'un aurait-il une idée ?

    Merci

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    • Le nom du fichier ou le chemin d'accès n’existe pas.
    • Ce fichier est actuellement utilisé par un autre programme.
    • Le classeur que vous essayez d’enregistrer porte le même nom qu’un classeur actuellement ouvert.
    et tu as invalidé ses trois hypothèses? et quand excel s'ouvre tu ne le refermes pas sans réfléchir ? et par hasard ya pas une cellule en édition dans excel sur un autre fichier qui retarde l'ouverture du fichier excel ?
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Candidat au Club
    Profil pro
    Responsable développement
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable développement

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci pour la réponse.
    Effectivement, j'ai bien invalidé les 3 hypothèses.
    Concernant le fichier Excel j'en ai créé un le plus simple possible avec 3 cellules dont l'une est la somme des 2 autres.
    Concernant la fermeture je ne pense pas car un processus EXCEL reste.

  4. #4
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    dans ce cas ferme tout avant le démarrage du script. je pourrais pas t'aider plus parce que la seule fois que j'ai fait du com c'était pour outlook... et j'ai abandonné en cours de route.

    c'est là: http://jerikojerk.free.fr/demo/outlo...rametre_secret
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  5. #5
    Candidat au Club
    Profil pro
    Responsable développement
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable développement

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Finalement j'ai opté pour un web service interrogeant un serveur en Windows Server 2003 avec Excel 2003. Les temps de réponses sont très satisfaisant.
    Merci gene69 pour tes réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Alternative à Microsoft DAO 3.6 Object Library sous Office 2010 64 bits
    Par george33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/06/2013, 10h42
  2. Office 2010 : de grands bonds en avant en perspective
    Par Yepazix dans le forum Microsoft Office
    Réponses: 51
    Dernier message: 04/11/2010, 16h19
  3. Acceder a un object COM dans une ISAPI Delphi
    Par Monk666 dans le forum Composants VCL
    Réponses: 0
    Dernier message: 26/01/2008, 12h27
  4. msn.com dans Office Outlook 2003
    Par snoopy80 dans le forum Outlook
    Réponses: 1
    Dernier message: 29/06/2007, 08h37
  5. Réponses: 2
    Dernier message: 30/01/2004, 15h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo