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

 .NET Discussion :

Piloter Excel à partir de delphi prism sous visual studio


Sujet :

.NET

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Piloter Excel à partir de delphi prism sous visual studio
    Bonjour à tous,

    Voilà 1 bon mois que j'ai découvert delphi prism sous visual studio, j'ai réussi à m'interfacer avec daqmx de NI et récupérer des données d'une entrée analogique que j'ai stocker dans une datatable.

    L'étape suivante étant la sauvegarde et le tracé graphique de ces données, je désire piloter excel à partir de mon app windows. J'ai donc rajouté en référence les librairies d'objets excel 9.0 (car je dispose d'office 2000) et office 9.0. J'ai bien accès au différentes fonctions d'excel, je m'inspire d'exemple en VB.NET pour appeller excel mais apparement ca ne fonctionne pas pareil.

    Je déclare:
    Var xlapp: Excel.application;
    var xlbook: Excel.workbook;
    var xlsheet: Excel.worksheet;

    Le problème survient déja quand j'essaie de créer l'objet :
    xlapp := new Excel.application;

    l'erreur me dit qu'il ne prend pas le mot "new" pour une application.

    Quant aux fonctions createoleobject ou createobjet des objets com, je ne peux pas les utiliser, elles ne sont pas reconnue.

    Quelqu'un aurait une idée?
    merci pour votre aide.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 74
    Points : 94
    Points
    94
    Par défaut
    Bonjour,

    je ne développe pas sous delphi, que je ne connais même pas du tout, mais comme personne ne répond pour l'instant, j'espère que mes maigres connaissances seront un début de piste. Je me baserai juste sur la syntaxe :

    En vb.net, pour instancier l'application Excel, il faut définir la variable comme étant de "type" Application Excel puis lui attribuer CreateObject("Nom_de_l_objet").
    L'un sans l'autre ne mêne nulle part.

    Or, dans "var xlapp: Excel.Application", soit il manque la définition du type, soit il manque l'attribution de la valeur. Il y a peut-être quelque chose à gratter dans ce sens ?

    A toutes fins utiles, en vb.net, la syntaxe exacte est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim XlApp As Excel.Application= Ctype(CreateObject("Excel.Application"), Excel.Application)
    Je le présise car souvent la conversion de type CType() n'est pas indiquée à cela peut lever une exception de convertion implicite, ce qui rend l'application bancale.

    Petites astuces pour les automations dans excel :
    1 - Utilisez un bloc with / end with pour éviter les multiples itérations de xlapp
    2 - Durant la phase de développement, mettre xlapp.visible = true vous permettra de voir si tout se passe bien, car par défaut, la valeur est false et vous aurez un peu de mal à juger de la qualité d'exécution du code.
    3 - Faites attention aux liaisons tardives, il est très facile d'en faire dans ce contexte, et bonjour les dégats... au mieux ça ralenti l'appli, au pire, c'est le mur.
    4 - En fin de procédure, pensez à bien libérer toutes vos variables objet liées à excel, et xlapp elle même, dans l'ordre inverse duquel vous les avez déclarées, ou le fermeture se fera mal et le processus persistera. Il sera bien sûr fermé à la fermeture de votre application mais ce n'est pas propre.

    Pour le reste, il vous faudra l'aide un connaisseur de Delphi.

    Bonne chance !
    Pensez à mettre le topic en si votre problème a été solutionné. / Un petit est le bien venu si la réponse vous satisfait
    Ce qui mérite d'être fait mérite d'être bien fait.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/08/2008, 12h19
  2. Excel sous Visual studio
    Par zerobug dans le forum Visual Studio
    Réponses: 3
    Dernier message: 24/04/2008, 14h46
  3. Appel d'Excel à partir de Delphi
    Par moukah2 dans le forum Débuter
    Réponses: 2
    Dernier message: 14/11/2007, 08h12
  4. Pilotage OLE d'Excel à partir de Delphi
    Par patrickbruneau dans le forum Delphi
    Réponses: 1
    Dernier message: 29/08/2006, 15h51
  5. Piloter excel à partir d'access
    Par Celia1303 dans le forum Access
    Réponses: 6
    Dernier message: 14/11/2005, 17h17

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