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

 Delphi Discussion :

Ouvrir OpenOffice sous Delphi


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut Ouvrir OpenOffice sous Delphi
    Comment ouvrir un fichier OpenOffice avec Delphi ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      Var
        OpenDesktop : Variant;
        LoadParams : Variant;
        NomFichier : AnsiString;
    begin
        OpenDesktop := OpenOffice.createInstance('com.sun.star.frame.Desktop');
        LoadParams := VarArryCreate([0, -1], varVariant);
        NomFichier := StringReplace('C:\demo.sxw','\','/',[rfReplaceAll, rfIgnoreCasel);
        Document := openDesktop.LoadComponentFromURL('file:///'+NomFichier, '_blank', 0, LoadParams);
    end;
    il indique OpenOffice non déclaré !!!

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    il indique OpenOffice non déclaré !!!
    Normal OpenOffice dans votre programme est une variable OleObject (variant) qu'il faut créer
    une petit tour dans la http://delphi.developpez.com/faq/?pa...OpenOffice-org
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Si le but c'est juste ouvrir un fichier (sans pilotage) un simple shellexecute suffit.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Et quand je met juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Var 
       OpenOffice : Variant; 
       Document  : Variant; 
     
    Begin 
        if  VarIsEmpty(OpenOffice) then 
            OpenOffice := CreateOleObject('com.sun.star.ServiceManager'); 
    end;
    Il me met CreateOleObject non déclaré.

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 856
    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 856
    Points : 11 290
    Points
    11 290
    Billets dans le blog
    6
    Par défaut
    Et si tu ajoutes OleAuto.pas à la clause uses ?
    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 !

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par tourlourou Voir le message
    Et si tu ajoutes OleAuto.pas à la clause uses ?

    il me met fichier introuvable...

  7. #7
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 856
    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 856
    Points : 11 290
    Points
    11 290
    Billets dans le blog
    6
    Par défaut
    Ça dépend sûrement des versions de Delphi : dans mon Delphi 5, il faut ajouter ComObj.
    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 !

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Pouvez vous me dire pour quel raison il m'indique "Opération de variant incorrecte"

    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
    procedure TForm1.Button3Click(Sender: TObject);
    var MoisPrincipal:integer;
        OpenOffice:variant;
        RepertoireAnnee:string;
        RepertoireAnneeURL:string;
        OpenDesktop:variant;
        LoadParams:variant;
        Document:variant;
    begin
      OpenDesktop:=OpenOffice.createInstance('com.sun.star.frame.Desktop');   // il bug ici !!!
      LoadParams:=VarArrayCreate([0,0],varVariant);
      LoadParams[0] :=  OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue');
      LoadParams[0].Name := 'Hidden';
      LoadParams[0].Value := True;
      //LoadParams[0] := MakePropertyValue('Hidden', True);
      Document:=openDesktop.LoadComponentFromURL('file:///'+'c:\test.ods','_blank',0,LoadParams);
      //theWindow:=  Document.CurrentController.Frame.ContainerWindow;
      //theWindow.Visible:= False;
    end;

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    parce que openoffice (le variant qui est peut être créé ailleurs ?) est à nouveau déclaré dans la procédure et donc non assigné !
    où est passé le code d'ouverture du service Open Office indiqué un peu plus haut ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Si on reviens au code de départ, il me dit VarArryCreate Non déclaré !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TForm1.Button1Click(Sender: TObject);
     Var
        OpenDesktop : Variant;
        LoadParams : Variant;
        OpenOffice : Variant;
        Document : Variant;
        NomFichier : AnsiString;
    begin
        OpenDesktop := OpenOffice.createInstance('com.sun.star.frame.Desktop');
        LoadParams := VarArryCreate([0, -1], varVariant);                       // VarArryCreate Non déclaré
        NomFichier := StringReplace('C:\demo.sxw','\','/',[rfReplaceAll, rfIgnoreCase]);
        Document := openDesktop.LoadComponentFromURL('file:///'+NomFichier, '_blank', 0, LoadParams);
    end;

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    normal encore, l'instruction s'écrit VarArray.Create

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TForm1.Button1Click(Sender: TObject);
     Var
        OpenDesktop : Variant;
        LoadParams : Variant;
        OpenOffice : Variant;
        Document : Variant;
        NomFichier : AnsiString;
    begin
        OpenOffice:= CreateOleObject('com.sun.star.ServiceManager');    
        OpenDesktop := OpenOffice.createInstance('com.sun.star.frame.Desktop');
        LoadParams := VarArray.Create([0, -1], varVariant);
       .....
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    il indique "Type Record, Object ou class requis" pour VarArray.Create.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm1.Button1Click(Sender: TObject);
     Var
        OpenDesktop : Variant;
        LoadParams : Variant;
        OpenOffice : Variant;
        Document : Variant;
        NomFichier : AnsiString;
    begin
        OpenOffice:= CreateOleObject('com.sun.star.ServiceManager');
        OpenDesktop := OpenOffice.createInstance('com.sun.star.frame.Desktop');
        LoadParams := VarArray.Create([0, -1], varVariant);
        NomFichier := StringReplace('C:\demo.sxw','\','/',[rfReplaceAll, rfIgnoreCase]);
        Document := openDesktop.LoadComponentFromURL('file:///'+NomFichier, '_blank', 0, LoadParams);
    end;

  13. #13
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Méa culpa, j'étais tellement fixé sur la faute de frappe du VarryrrayCreate et du Create manquant de OpenOffice que j'en ai fait une moi-même

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     LoadParams := VarArrayCreate([0, -1], varVariant);
    J'aimerais cependant éclaircir plusieurs choses
    Tout est écrit correctement dans les FAQ OpenOffice, pour peu de bien recopier le code proposé
    Comme indiqué dans cette FAQ (généralités FAQ n°2)
    Déclarer les variables globales openOffice et Document et ajouter ComObj à la clauses Uses.
    par variables globales comprenez bien qu'il faut que ces variables doivent être déclarées en dehors de la forme ou dans les parties private de cette dernière.
    Pourquoi ? demanderez-vous : parce qu'il faudra bien aussi fermer openoffice après les traitements (qui généralement se font en dehors de la procédure d'ouverture du document)



    PS. Vous n'avez pas indiqué quelle version de Delphi vous utilisiez mais je pense que c'est Delphi 7 et je crains qu'ayant un Windows 7 ou supérieur vous n'ayez pas accès à l'aide de la touche F1 ce qui est fort dommage
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Je ne comprends plus rien !!!
    Première fois que je vois ce message :
    [Erreur fatale] Impossible de créer le fichier de sortie 'C:\Program Files (x86)\Borland\Delphi7\Projects\Project1.exe'
    voici le code au complet

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComObj;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
        OpenDesktop : Variant;
        LoadParams : Variant;
        OpenOffice : Variant;
        Document : Variant;
        NomFichier : AnsiString;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        OpenOffice:= CreateOleObject('com.sun.star.ServiceManager');
        OpenDesktop := OpenOffice.createInstance('com.sun.star.frame.Desktop');
        LoadParams := VarArrayCreate([0, -1], varVariant);
        NomFichier := StringReplace('C:\demo.sxw','\','/',[rfReplaceAll, rfIgnoreCase]);
        Document := openDesktop.LoadComponentFromURL('file:///'+NomFichier, '_blank', 0, LoadParams);
    end;
     
    end.

  15. #15
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Cela arrive quelquefois quand le programme lancé en mode Debug ou normal s'est planté et reste en mémoire
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Pouvez vous me dire pour quel raison OpenOffice est visible ?

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Et comment on referme OpenOffice ? Car avec : OpenOffice := Unassigned; on ce déconnecte mais comment on le ferme sans enregistrer.

    Et quand je met OpenOffice.close il indique :
    Méthode 'close' non supportée par l'objet Automation.

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    c'est bon je viens de trouver les réponses à mes questions.

    Pour l'ouverture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    begin
        OpenOffice:= CreateOleObject('com.sun.star.ServiceManager');
        OpenDesktop := OpenOffice.createInstance('com.sun.star.frame.Desktop');
        LoadParams := VarArrayCreate([0, -1], varVariant);
        NomFichier := StringReplace('C:\Users\Selçuk\Desktop\Devis\Devis Type.ods','\','/',[rfReplaceAll, rfIgnoreCase]);
        Document := openDesktop.LoadComponentFromURL('file:///'+NomFichier, '_blank', 0, LoadParams);
    end;

    Pour fermer le document :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    begin 
      Document.dispose; 
    end;

    Pour ce déconnecter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OpenOffice := Unassigned;

    Juste un truc supplémentaire comment l'ouvrir de façon invisible ?

    Merci à tous.

  19. #19
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Juste un truc supplémentaire comment l'ouvrir de façon invisible ?
    C'est vrai que cette "astuce" n'est pas dans la FAQ ! ou du moins pas explicitement puisqu'il y est sujet de l'API CoreReflection mais uniquement pour l'usage de l'option de lecture.

    Il va falloir créer un paramètre (ou plus exactement mettre un paramètre l'objet Open Office à True : Le paramètre Hidden.
    Et, pour ce faire il va falloir
    - Faire appel à l'API CoreReflection de OpenOffice
    - Créer le paramètre
    - Passer ce dernier dans le tableau de paramètres à l'ouverture du document

    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
       Var 
         CoreServ,Propriete : Variant;     // locale 
         ... 
       begin
         OpenOffice:= CreateOleObject('com.sun.star.ServiceManager');
         OpenDesktop := OpenOffice.createInstance('com.sun.star.frame.Desktop');
         LoadParams:=VarArrayCreate([0,0],varVariant);
         CoreServ:= OpenOffice.CreateInstance('com.sun.star.reflection.CoreReflection');
         CoreServ.forName('com.sun.star.beans.PropertyValue').CreateObject(propriete);
         // Caché
         propriete.name:='Hidden';
         propriete.Value:=true;      // pour que le document soit caché !
         LoadParams[0]:=propriete;
    
         NomFichier := StringReplace('C:\Users\Selçuk\Desktop\Devis\Devis Type.ods','\','/',[rfReplaceAll, rfIgnoreCase]);
         Document := openDesktop.LoadComponentFromURL('file:///'+NomFichier, '_blank', 0, LoadParams);
    PS.
    tu me confirmeras que c'est ok et j'envisagerai de le rajouter à la FAQ si on ne voit ce truc nulle part
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  20. #20
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Merci, ça fonctionne bien ...

    j'ai encore une question : les lignes de code dans le FAQ concernant les formules ne "fonctionne pas"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      MonClasseur := Document.getSheets; 
      MaFeuille := MonClasseur.GetByName('Feuille1'); 
      Mafeuille.getCellByPosition(0, 0).SetFormula('=A2+B4');
    Au niveau d'OpenOffice j'ai bien la formule qui s'affiche mais il ne fait pas le calcul il me met : #NOM ?
    Pour quel raison ? Si je rajoute un caractère et le supprime de manière manuel alors il me fait le calcul ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Créer et gérer des base OpenOffice sous delphi 7
    Par gbuxo dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/12/2009, 21h37
  2. Réponses: 7
    Dernier message: 11/11/2009, 15h19
  3. Comment créér une collection sous Delphi
    Par PsyKroPack dans le forum Langage
    Réponses: 6
    Dernier message: 11/02/2003, 13h20
  4. calcul sous delphi
    Par djedje-08 dans le forum Langage
    Réponses: 5
    Dernier message: 08/02/2003, 17h39
  5. Réponses: 4
    Dernier message: 27/03/2002, 11h03

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