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 : 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
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 ?

Merci d'avance
Philippe.