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 Delphi Discussion :

OpenOffice -> InsertGraphic


Sujet :

Langage Delphi

  1. #1
    Membre régulier Avatar de souch
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2003
    Messages : 145
    Points : 124
    Points
    124
    Par défaut OpenOffice -> InsertGraphic
    Salut,
    je chercher à inserer une image dans une feuille de calcul, j'ai a peu pres saisi la marche à suivre, mon code ci-dessous ne provoque pas d'erreur a la compillation ni a l'utilisation, pas de message d'erreur, mais pas d'image non plus ... quel peut être mon erreur ?
    merci

    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
    25
    26
    27
     
    // Connexion, création et ouverture du calc en amont sans problemes, en mode visible.
     
    procedure TForm1.Btn_AddIMGClick(Sender: TObject);
    var Args, Argument: variant;
    begin
      CoreReflection.forName('com.sun.star.beans.PropertyValue').createObject(Argument);
     
      Args := VarArrayCreate([0, 2], varVariant);
     
      Argument.Name := 'FileName';
      Argument.Value := 'file:///C:/apples.gif';
     
      Args[0] := Argument;
     
      Argument.Name := 'FilterName';
      Argument.Value := 'GIF - Graphics Interchange Format';
     
      Args[1] := Argument;
     
      Argument.Name := 'AsLink';
      Argument.Value := false;
     
      Args[2] := Argument;
     
      Dispatcher.ExecuteDispatch(OpenDesktop.CurrentFrame, '.uno: InsertGraphic', '', 0, Args);
    end;
    vala, aucunes erreurs, mais cela ne semble pas fonctionner ...

  2. #2
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    salut,
    peut être est ce parce que tu utilise la même variable "argument" pour remplir chaque case de ton tableau, du coup le compilateur en fait un pointeur que tu écrase à chaque ligne (?)
    le gestionnaire de macros de openoffice fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dim args1(2) as new com.sun.star.beans.PropertyValue
    args1(0).Name = "FileName"
    args1(0).Value = "file:///C:/Program%20Files/OpenOffice.org%202.0/share/gallery/apples.gif"
    args1(1).Name = "FilterName"
    args1(1).Value = "GIF - Graphics Interchange Format"
    args1(2).Name = "AsLink"
    args1(2).Value = false
     
    dispatcher.executeDispatch(document, ".uno:InsertGraphic", "", 0, args1())
    je pense que c 'est que tu as du faire, mais essaye de mettre la même syntaxe cad:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    args1(1).Name = "FilterName"
    args1(1).Value = "GIF - Graphics Interchange Format"

  3. #3
    Membre régulier Avatar de souch
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2003
    Messages : 145
    Points : 124
    Points
    124
    Par défaut
    Salut, et merci pour ta réponse,
    je crois que j'avais essayé ca en 1er, je suis partis a la base d'une macro pour voir comment ca tournais ... je retente ce soir !

  4. #4
    Membre régulier Avatar de souch
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2003
    Messages : 145
    Points : 124
    Points
    124
    Par défaut
    non, marche pas ... j'ai aussi essayer en passant par le CreateProperties des DelphiOoo (qui est d'une grande aide en passant !), mais rien, je pensse que ce n'est pas possible de faire comme ca pour le calc, car ca ma lair de bien marcher pour writer...

    j'ai essayé une autre voie, en insérant le graphique dans une cellule, ce qui est d'ailleur mieux en pas mal de points, mais pas moyen :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      MonClasseur := Document.getSheets;
      MaFeuille := MonClasseur.GetByIndex(0);
      MaCellule := Mafeuille.getCellByPosition(0, 0);
      TextCursor := MaCellule.createTextCursor;
     
      OooGraphic := Document.CreateInstance('com.sun.star.text.GraphicObject');
     
      OooGraphic.GraphicURL := 'file:///C:/apples.gif';
      OooGraphic.AnchorType := 'com.sun.star.text.TextContentAnchorType.AS_CHARACTER';
      OooGraphic.Width = 300;
      OooGraphic.Height = 300;
     
      MaCellule.insertTextContent(TextCursor, OooGraphic, False);
    com.sun.star.text.GraphicObject n'est pas un service disponible pour le calc, alors qu'il l'est pas le writer ...

    en gros, ces 2 metodes ne semblent pas utilisable pour Calc .... :'(

    je continue à chercher, et j'accepte toutes les remarques possibles !

  5. #5
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    Est ce que tu as posté sur le forums openoffice ? et si oui qu'est ce qu'il ton répondu ?

Discussions similaires

  1. Comment saisir les racines avec OpenOffice ?
    Par poxtra_102 dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 08/10/2004, 20h05
  2. Porter une macro Excel vers OpenOffice
    Par totofweb dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 13/07/2004, 14h20
  3. OpenOffice comme éditeur WYSIWYG de contenu XML ?
    Par lilouTwo dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 01/07/2004, 15h43
  4. [OPENOFFICE] Transformation des tableaux OOo en HTML
    Par GrandFather dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 15/05/2004, 19h00
  5. Classeur/tableur d'Openoffice et les virgules
    Par Michaël dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 30/04/2004, 15h21

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