C'est quoi l'équivalent en delphi de faire bouton droit nouveau sur un fichier e

toutoughou Messages postés 42 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 23 février 2011 - 9 juil. 2009 à 13:23
toutoughou Messages postés 42 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 23 février 2011 - 9 juil. 2009 à 18:50
Bonjour;
J'ai un modèle de fichier excel existant; je veux créer un nouveau fichier  en se basant sur ce modèle( c'est comme une sorte de copie ) et le remplir par des données.(c'est exactement l'équivalent de faire bouton droit+nouveau sur le fichier)

Mon code actuel c'est que j'ouvre mon modèle existant comme suit :
try
    ExcelApplication := GetActiveOleObject('Excel.Application');
  except
    ExcelApplication := CreateOleObject('Excel.Application');
  end;
ExcelApplication.Visible := true;

 vXLWorkbooks := ExcelApplication.Workbooks;
 aFileName := 'c:\test.xls' ;
 vXLWorkbook:=vXLWorkbooks.Open(aFileName);

Ensuite cette nouvelle copie je veux la manipuler de telle sorte que Excel soit lancé en background et après le traitement la copie s'ouvre avec les données.
N.B: je connais bien comment remplire les cellules et tout le traitement accompagné mon seul souci c'est comment ouvrir la copie en la lançant en arrière plan.le reste je m'en occupe.
Merci d'avance :D

5 réponses

beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
9 juil. 2009 à 14:42
salut,

essaye donc :

    // cette procedure permet de creer un nouveau Classeur à partir de l'instance de Excel, en utilisant un modèle si le paramètre est renseigné
    procedure CreerNouveauClasseur(Var NouveauClasseur : Variant; var InstanceDeExcel : variant;
                                   s_modele: string = '' );
    begin
      if Length(s_modele) = 0 then
        NouveauClasseur := InstanceDeExcel.Workbooks.Add
      else
        NouveauClasseur := InstanceDeExcel.Workbooks.Add(s_modele);
    end;

Luc.
0
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
9 juil. 2009 à 14:43
pour l'arrière plan, il faut mettre ExcelApplication.Visible := False;
0
toutoughou Messages postés 42 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 23 février 2011
9 juil. 2009 à 15:26
Merci pour la réponse ca marche pour la copie.
Pour l'arrière plan j'ai déja mis ExcelApplication.Visible := False; pourtant la fichier s'ouvre souvent
0
toutoughou Messages postés 42 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 23 février 2011
9 juil. 2009 à 15:31
donc je veux que ca se lance en arrière plan et à la fin de tout mon traitement ouvrir mon fichier crée j'ai utilisé InstanceDeExcel.Workbooks.Open mais ca marchait pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toutoughou Messages postés 42 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 23 février 2011
9 juil. 2009 à 18:50
C'est bon ca marche j'ai mis ExcelApplication.Visible := False; puis à la fin du traitement je l'ai remis à true pour ouvrir le fichier crée.
0
Rejoignez-nous