Newsgroup: it.comp.lang.perl
Titolo: Accesso proprieta' documenti office da Perl - come?

Qualcuno sa come e' possibile da Perl accedere a alle proprieta' di un
file office da Perl (quale modulo? Come?).
Precisamente: voglio accedere ai campi definibili da utente quando -
per esempio - si seleziona: File | Proprieta' da word e si seleziona
il tab riepilogo.
Many thanks a quanti mi vorranno rispondere.
Oh, a proposito. Auguri a tutti i Perl fanatic. Sono un convertito
abbastanza recente ma piuttosto entusiasta.
Ciao ciao.
Daniele

 il tab riepilogo.
Per accedere alle informazioni sulla versione, copyright, produttore, ecc. di un
file EXE o DLL devi usare le funzioni Win32
	GetFileVersionInfoSize
	GetFileVersionInfo
	VerQueryValue
	...
Il tutto funziona in C, non so in Perl. Inoltre non so se puoi recuperare le
informazioni che ti interessano di un file Word nello stesso modo.
Ciao
Marcello

 Daniele


Grazie per la risposta. 
Il codice seguente 
$infile	= 'somefile.doc';
$documento = Win32::OLE->GetObject ($infile,'Quit');
while (($key, $value) = each (%$documento))
{
	if (defined ($value))
	{
		print OUT "$key = $value \n";
	}
}
produce la seguente uscita
Name = OLE.DOC 
Application = Win32::OLE=HASH(0x1a65104) 
Creator = 1297307460 
Parent = Win32::OLE=HASH(0x1b3fc88) 
BuiltInDocumentProperties = Win32::OLE=HASH(0x1b3fcd0) 
CustomDocumentProperties = Win32::OLE=HASH(0x1b3fc7c) 
Path = C:\DANIELE\SRC 
Bookmarks = Win32::OLE=HASH(0x1b3fce8) 
Tables = Win32::OLE=HASH(0x1b3fd00) 
Footnotes = Win32::OLE=HASH(0x1b3fcf4) 
Endnotes = Win32::OLE=HASH(0x1b3fc88) 
Comments = Win32::OLE=HASH(0x1b3fd18) 
Type = 0 
AutoHyphenation = 0 
HyphenateCaps = 1 
HyphenationZone = 14 
ConsecutiveHyphensLimit = 0 
Sections = Win32::OLE=HASH(0x1b3fd24) 
Paragraphs = Win32::OLE=HASH(0x1b3fd78) 
Words = Win32::OLE=HASH(0x1b3fd3c) 
Sentences = Win32::OLE=HASH(0x1b3fd48) 
Characters = Win32::OLE=HASH(0x1b3fd90) 
Fields = Win32::OLE=HASH(0x1b3fd9c) 
FormFields = Win32::OLE=HASH(0x1b3cd24) 
Styles = Win32::OLE=HASH(0x1b3cd30) 
Frames = Win32::OLE=HASH(0x1b3cd3c) 
TablesOfFigures = Win32::OLE=HASH(0x1b3cd48) 
Variables = Win32::OLE=HASH(0x1b3cd54) 
MailMerge = Win32::OLE=HASH(0x1b3cd60) 
Envelope = Win32::OLE=HASH(0x1b3cd6c) 
FullName = C:\DANIELE\SRC\OLE.DOC 
Revisions = Win32::OLE=HASH(0x1b3cd84) 
TablesOfContents = Win32::OLE=HASH(0x1b3cd9c) 
TablesOfAuthorities = Win32::OLE=HASH(0x1b3cd90) 
PageSetup = Win32::OLE=HASH(0x1b3cd54) 
Windows = Win32::OLE=HASH(0x1b3cdb4) 
HasRoutingSlip = 0 
Routed = 1 
TablesOfAuthoritiesCategories = Win32::OLE=HASH(0x1b3cd90) 
Indexes = Win32::OLE=HASH(0x1b3cdfc) 
Saved = 0 
Content = Win32::OLE=HASH(0x1b3cdc0) 
ActiveWindow = Win32::OLE=HASH(0x1b3ce20) 
Kind = 0 
ReadOnly = 0 
Subdocuments = Win32::OLE=HASH(0x1b3fd84) 
IsMasterDocument = 0 
DefaultTabStop = 35.4000015258789 
EmbedTrueTypeFonts = 0 
SaveFormsData = 0 
ReadOnlyRecommended = 0 
SaveSubsetFonts = 0 
StoryRanges = Win32::OLE=HASH(0x1b3ceec) 
CommandBars = Win32::OLE=HASH(0x1b34164) 
IsSubdocument = 0 
SaveFormat = 0 
ProtectionType = -1 
Hyperlinks = Win32::OLE=HASH(0x1b3fd84) 
Shapes = Win32::OLE=HASH(0x1b341a0) 
ListTemplates = Win32::OLE=HASH(0x1b3417c) 
Lists = Win32::OLE=HASH(0x1b3cdf0) 
UpdateStylesOnOpen = 0 
InlineShapes = Win32::OLE=HASH(0x1b341c4) 
Background = Win32::OLE=HASH(0x1b341dc) 
GrammarChecked = 0 
SpellingChecked = 0 
ShowGrammaticalErrors = 1 
ShowSpellingErrors = 1 
Versions = Win32::OLE=HASH(0x1b34194) 
ShowSummary = 0 
SummaryViewMode = 0 
SummaryLength = 25 
PrintPostScriptOverText = 0 
PrintFormsData = 0 
ListParagraphs = Win32::OLE=HASH(0x1b34224) 
HasPassword = 0 
WriteReserved = 0 
UserControl = 1 
ReadabilityStatistics = Win32::OLE=HASH(0x1b342a8) 
GrammaticalErrors = Win32::OLE=HASH(0x1b342d8) 
SpellingErrors = Win32::OLE=HASH(0x1b34254) 
VBProject = Win32::OLE=HASH(0x1b34290) 
FormsDesign = 0 
_CodeName = ThisDocument 
CodeName = ThisDocument 
TrackRevisions = 0 
PrintRevisions = 1 
ShowRevisions = 1 
CustomDocumentProperties suona come qualcosa che mi interessa.
Il problema e' che ho difficolta' ad accedere ai dati riferiti da
Win32::OLE=HASH(0x1b3fc7c) 
Se cerco di accedere al dato come $documento -> {
'CustomDocumentProperties'} non ottengo risultati. A me pare che il
dato sia una reference ad una Hash all' interno di un oggetto
Win32::OLE
Qualcuno ha una idea di come accedere ai dati e se i dati sono quelli
che io sto cercando?
Ciaociao.
Daniele

 Daniele