Bonjour.
J'ai un programme Perl qui crée un fichier puis, à l'aide de Win32::OLE, l'enregistre comme document Word. Voici la partie correspondante du code :
my $Word = Win32::OLE->new( 'Word.Application', 'Quit' );
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Word';
my $DocumentN = $Word->Documents->Open( { FileName => $fichiernO, Format => wdOpenFormatText } ); # Prévoir l'échec !
$DocumentN->SaveAs
(
{ FileName => $fichiernO, FileFormat => wdFormatDocument }
);
$Word->Quit();
Tout va bien si la dernière ligne ($Word->Quit) n'est pas là : le fichier est créé et il a bien le format document Word. (Je suppose que le 'Quit' qui figure dans la création de l'objet $Word rend la commande $Word->Quit() superflue dans le présent programme mais qu'il n'en serait pas forcément de même dans un autre programme.)
En revanche, si on met la dernière ligne, on reçoit le message suivant à la ligne de commande :
Win32::OLE(0.1403) error 0x800706ba: "Le serveur RPC n'est pas disponible"
in METHOD/PROPERTYGET "Quit" at MonEssaiOLE.pl line 1777
J'ai consulté l'index de la documentation html de Active Perl (C:\Perl\html\faq\Windows\ActivePerl-Winfaq12.html), chapitre Using OLE with Perl, mais il n'y est pas question de serveur RPC. Une recherche Google sur "serveur RPC" ne me semble rien fournir qui soit à mon modeste niveau. Il y est question d'un virus Blaster, mais mon Windows XP n'en présente pas les symptômes. Dois-je installer quelque chose pour avoir accès à ce serveur RPC ? Si oui, comment fait-il faire ? Merci d'avance.
Panurge.