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

API, COM et SDKs Delphi Discussion :

Open office plage de cellule: écrire valeur


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 31
    Par défaut Open office plage de cellule: écrire valeur
    Bonjour,

    Sous open office, je veux écrire une série de valeur dans N cellules. Exemple:
    A1:B2 => A1=toto, A2=titi, B1=tutu et B2=tata

    Je stocke mes valeurs (toto,...) dans un variant (qui est en fait un tableau de variant):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //aValue:Variant;
    aValue[0,0]:='toto';
    aValue[0,1]:='titi';
    J'ai essayé ce cette manière mais j'ai une erreur
    "com.sun.star.uno.RuntimeException" sur la ligne SetAsArray.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //Cell:TOOCalcCellRange;
    Cell:=CalcSheet.CellRangeByName[CellName1+':'+CellName2];
    Cell.AsArray:=aValue;
    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 31
    Par défaut
    Suppléments d'informations:

    Mon tableau est initialisé de cette manière:
    ContenuEcriture:=VarArrayCreate([0, 30, 0, 8],varVariant);
    Ce tableau est donc un Variant array of Variant

    J'ai remarqué ceci:
    En ayant
    Result[0][0] me retourne ma valeur alors que Result[0,0] me renvoie l'exception:
    Exception Delphi EVariantBadIndexError à $267EF93D

    Et logiquement, - cell.AsArray[0][0] OK et cell.AsArray[0,0] => KO
    - aValue[0][0] => OK et aValue[0,0] => K0

    Exception Delphi EVariantBadIndexError à $267EF93D

    Du coup, je ne sais pas si le problème provient de l'appel dans le code d'Open office ou de ma création de mon tableau à deux dimensions.

  3. #3
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Je suis overbooké pour l'instant et je ne pourrai pas suivre la discussion au jour le jour.
    J'ai interfacé Openoffice Calc avec Delphi en affectant des valeurs à des cellules mais unes à unes et non par plage entière en une seule fois.
    Du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        OooSheet.getCellByPosition(ColNo, RowNo).SetString(MaVariable);
    A toi de voir.

    Bonne continuation

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 31
    Par défaut
    Merci pour l'info, mais je sais déjà faire cellule par cellule. Je voulais écrire
    sur une plage de cellules pour un gain de temps.

Discussions similaires

  1. lister les valeurs différentes entre 2 plages de cellule
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/06/2007, 11h42
  2. [VBA-E] Effacer les valeurs d'une plage de cellules
    Par jfamiens dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/06/2006, 11h07
  3. [Tableur Open Office] Protection de cellule
    Par LDS45 dans le forum Autres langages
    Réponses: 1
    Dernier message: 06/06/2005, 17h14

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