exécuter une macro excel depuis un script perl

exécuter une macro excel depuis un script perl - VB/VBA/VBS - Programmation

Marsh Posté le 18-04-2006 à 11:31:00    

bonjour,
 
j'ai crée un script sous perl qui interroge une base de donnée et j'aimerai qu'à la fin de celle-ci il y ait une commande qui lance un tableur excel appelé "tableur.xls" et une macro à l'intérieur de celui-ci.
Pour ce qui est de la macro j'ai pas eu de soucis mais comme je débute en perl, j'ai un peux de mal pour ce qui est d'exécuter celle-ci

Reply

Marsh Posté le 18-04-2006 à 11:31:00   

Reply

Marsh Posté le 18-04-2006 à 12:52:27    

specics a écrit :

bonjour,
 
j'ai crée un script sous perl qui interroge une base de donnée et j'aimerai qu'à la fin de celle-ci il y ait une commande qui lance un tableur excel appelé "tableur.xls" et une macro à l'intérieur de celui-ci.
Pour ce qui est de la macro j'ai pas eu de soucis mais comme je débute en perl, j'ai un peux de mal pour ce qui est d'exécuter celle-ci


 
j'ai trouvé, mais pour ceux que ça interesse :
 
sub macro{
  print "Macro\n";
  #my ($num) = @_;
  use Win32::OLE qw(in with);
  use Win32::OLE::Const 'Microsoft Excel';
  $Win32::OLE::Warn = 3;                                # die on errors...
  my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
      || Win32::OLE->new('Excel.Application', 'Quit');   # get already active Excel
                                                     # application or open new
  $filename = "nom fichier xls";
        print "$filename\n";
        my $Book = $Excel->Workbooks->Open("U:\\script patrick\\$filename" );
 
        print "run update_query\n";
  $Excel->Run("nom macro" );
  $Book->Close;
 }# end macro

Reply

Marsh Posté le 29-05-2006 à 11:45:37    

Bonjour,
 
Ca m'intéresse beaucoup ce que tu fais, ça fais qq jours que je cherche en vain comment faire pour exécuter un macro sous excel en mode invisible depuis DOS.
 
On me dit qu'il faut utiliser OLE Automation et je cherche ... mais sais pas toujours comment faire à part il faut créer la ligne suivante :
 
set toto=CreateObject("Excel.Application" )
 
Ce que tu fais colle bien à ce que j'aimerais faire à une variante près c'est que tu fais à travers perl et moi un fichier.bat de dos.
J'aimerais savoir si tu sais comment on peut  adapter ton script perl à un .bat dos ? Je précise que je n'y connais rien en perl ni en dos, je débute tout juste.
 
Ce serait sympa de m'indiquer comment faire où dans quelle direction il faut chercher, merci milles fois.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed