use strict; use File::DosGlob 'glob'; use Win32::OLE; my $index = "index.html"; my $Dir = shift @ARGV; chdir $Dir; open TOC, ">$index"; print TOC < FINEND my $Word = Win32::OLE->new('Word.Application', 'Quit'); #Title wdPropertyTitle #Subject wdPropertySubject #Author wdPropertyAuthor #Manager wdPropertyManager #Company wdPropertyCompany #Category wdPropertyCategory #Keywords wdPropertyKeywords #Comments wdPropertyComments #Hyperlink base wdPropertyHyperlinkbase print TOC "\n"; foreach my $File (sort (<*.doc>, <*.dot>)) { my $Doc = $Word->Documents->Open("$Dir\\$File"); # my $Doc = $Excel->Workbooks->Open("$DirToCheck\\$_"); my $Title = $Doc->BuiltinDocumentProperties("Title")->Value; my $Subject = $Doc->BuiltinDocumentProperties("Subject")->Value; my $Author = $Doc->BuiltinDocumentProperties("Author")->Value; my $Size = $Doc->BuiltinDocumentProperties("Number of bytes")->Value; my $Keywords = $Doc->BuiltinDocumentProperties("Keywords")->Value; my $Comments = $Doc->BuiltinDocumentProperties("Comments")->Value; my $Hyperlinkbase = $Doc->BuiltinDocumentProperties("Hyperlink base")->Value; my $Category = $Doc->BuiltinDocumentProperties("Category")->Value; my $Manager = $Doc->BuiltinDocumentProperties("Manager")->Value; # my $Date = $Doc->BuiltinDocumentProperties("Last savetime")->Value; $Doc->Close; printf TOC "\n","$Dir\\$File",$File,$Title,$Subject,$Author,$Keywords,$Comments,$Category; printf "Document %s\n Titre %s\n Taille %5dK\n Sujet %s\n Auteur %s\n mot clés %s\n Commentaires %s\n Categorie %s\n manager %s\n", "$Dir\\$File" , $Title, int($Size/1024), $Subject, $Author, $Keywords, $Comments, $Category, $Manager; # , $Date; # substr($Date,0,8); } print TOC "

Référence

Titre
Sujet
Auteur
Mots clés
Commentaires
Catégorie

%-40s

T %40s
S %25s
A %30s
M %30s
C %30s
C %20s

"; close TOC;