[Win32::OLE] Lancer une macro Excel
Salut à tous,
Je souhaite utiliser le module Win32::Ole afin d'ouvrir un fichier Excel existant et de lancer un traitement, mais lorsque j'exécute mon code, il me sort l'erreur suivante :
OLE exception from "Microsoft Excel":
'Modele_Resultats_Analyse.xls' introuvable. VÚrifiez l'orthographe du nom du classeur et la
validitÚ de l'emplacement.
Si vous essayez d'ouvrir le fichier Ó partir de la liste des fichiers les
plus rÚcents, assurez-vous que le fichier n'a pas ÚtÚ renommÚ, dÚplacÚ ou
supprimÚ.
Win32::OLE(0.1709) error 0x800a03ec
in METHOD/PROPERTYGET "Open" at Analyse_AM_REAL.pl line 227
Voici mon code :
Code:
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 41 42 43 44
| ## MODULES
use strict;
use warnings;
use Cwd;
use Tk; #Interface Graphique
use Tk::Dialog; # Boite de dialogue
use utf8;
use Encode;
use File::Basename;
use Win32::OLE;
## VARIABLES
# Scalaires
my $localpath = cwd();
chomp($localpath);
my $file_name_path ='Modele_Resultats_Analyse.xls';
my $ex;
my $workbook;
my $sheet;
## PROGRAMME PRINCIPAL
# Création de l'objet OLE utilisant Excel
$ex = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit');
$ex->{DisplayAlerts}=0;
# Creation du classeur
$workbook = $ex -> Workbooks->Open($file_name_path);
# Creation des nouvelles feuilles
for (my $i=1; $i<8;$i+=1)
{
$workbook->Worksheets->Add;
}
##################################
# Des traitements sont effectués #
##################################
$ex->Run("ThisWorkbook.Mise_En_Forme_Classeur");
# On sauve et on quitte
$workbook->SaveAs($localpath.'/Resultats_Analyse.xls');
$workbook->Close; |
Auriez-vous une idée ? :calim2:
Merci d'avance :ccool:
Philippe.