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

Lazarus Pascal Discussion :

Out of bounds sur liaison Ole avec Excel [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    jpp
    jpp est déconnecté
    Membre régulier Avatar de jpp
    Homme Profil pro
    en recherche d'emploi
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : en recherche d'emploi

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Points : 72
    Points
    72
    Par défaut Out of bounds sur liaison Ole avec Excel
    Bonsoir tout le monde,

    je tombe sur un os, j'essaie de mettre en place une liaison OLE avec Excel et à chaque fois j'ai le message d'erreur "out of bounds".
    Est-ce que quelqu'un a une idée ? Pour l'instant j'en suis là.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      AssignFile(F,ExtractFilePath(Application.exename)+'chemin.jpp');
      Reset(F);
      Readln(F,afilename);
      CloseFile(F);
      path:=afilename;
      XLApp:=CreateOleObject('Excel.Application');
      XLApp.visible:=false;
      XLApp.displayAlerts:=false;
      XLApp.Workbooks.Open(path);
    JPP
    tout ce qui est rare est cher, un cheval bon marché est rare, donc un cheval bon marché est cher.

  2. #2
    jpp
    jpp est déconnecté
    Membre régulier Avatar de jpp
    Homme Profil pro
    en recherche d'emploi
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : en recherche d'emploi

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Points : 72
    Points
    72
    Par défaut evolution du machin
    Alors quand j'écris ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    procedure TForm1.Button1Click(Sender: TObject);
     
      var
        xlapp:variant;
        lastrow,newrow:integer;
        arange:Ansistring;
        avalue:AnsiString;
      begin
     
        xlapp:=CreateOLEObject('excel.application');
        xlapp.visible:=true;
        xlapp.WorkBooks.open('c:\programmes\test.xlsx');
    //je détermine la derniére ligne utilisée
        lastrow:=xlapp.workbooks[1].worksheets[1].UsedRange.Rows.Count;
    //je calcule la nouvelle ligne
        newrow:=lastrow+1;
        arange:='A'+IntToStr(newrow);
    //je me positionne et je note mes données
     
    //j'enregistre et je ferme
        xlapp.workbooks[1].close;
        xlapp.quit;
        xlapp:=unassigned;
    Ça fonctionne.
    donc petite progression.
    JPP
    tout ce qui est rare est cher, un cheval bon marché est rare, donc un cheval bon marché est cher.

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 302
    Points
    11 302
    Billets dans le blog
    6
    Par défaut
    si le 1° code plantait sur l'ouverture du fichier et pas le second où c'est passé en dur, ne serait-ce pas un pb de codage de caractères ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    jpp
    jpp est déconnecté
    Membre régulier Avatar de jpp
    Homme Profil pro
    en recherche d'emploi
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : en recherche d'emploi

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Points : 72
    Points
    72
    Par défaut codage de caractéres
    Je crois bien que oui !
    du coup j'ai un autre probléme, je ne peux pas écrire dans la feuille excel quand je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        lastrow:=xlapp.workbooks[1].worksheets[1].UsedRange.Rows.Count;
        newrow:=lastrow+1;
        arange:='A'+IntToStr(newrow);
        xlapp.workbooks[1].worksheets[1].cells[1,newrow].value:='123';
    j'arrive bien dans la bonne cellule mais rien ne s'inscrit.

    Bon je vais me coucher, demain je me léve tot et de toutes façons je n'irais pas plus loin aujourd'hui!
    JPP
    tout ce qui est rare est cher, un cheval bon marché est rare, donc un cheval bon marché est cher.

  5. #5
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 751
    Points
    9 751
    Par défaut
    En OLE, les chaines doivent être de type AnsiString ou wideString, sinon, ça plante. Je l'ai appris à mes dépens avec les liaisons OpenOffice et j'ai eu droit à une piqûre de rappel avec Word !
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

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

Discussions similaires

  1. Liaison données avec Excel et ms query
    Par sebl dans le forum Excel
    Réponses: 1
    Dernier message: 26/05/2008, 08h56
  2. Faire un graphique en Ole avec Excel
    Par kurul1 dans le forum C++Builder
    Réponses: 18
    Dernier message: 23/03/2007, 21h57
  3. [VBA-E]filtre sur plusieurs Critères avec Excel
    Par Diablo_22 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/05/2006, 20h34
  4. Comment créer un lien hypertexte avec une liaison OLE Excel ?
    Par vieuxsinge dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 08/12/2005, 17h16

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