hallo zusammen,
hier mal was für knobel-freunde ich versuche gerade, den inhalt von ms-word-dateien mit Win32:LE auszulesen. klappt natürlich nicht so recht.
ein prob dabei ist, dass ich bislang nirgendwo eine erläuterung auftreiben konnte, wie das korrekter weise zu bewerkstelligen wäre. möglich ist das mit sicherheit, aber die perl-welt scheint sich hier nur mit excel-dateien zu beschäftigen. also habe ich mal ausgehend von einem script aus einem buch geraten, wie das für word-dateien sein müsste:
#!/usr/bin/perl
use Win32:LE;
use strict;
my ($word, $file, $dokument, %inhalt, $inhalt, $key);
$word=Win32:LE->new(‚Word.Application‘, ‚Quit‘)
or die ("Kein Objekt: ", Win32:LE->LastError());
$file=„test.doc“;
$dokument=$word->Documents->Open($file)
or die ("Kann Dokument nicht öffnen: ", Win32:LE->LastError());
%inhalt=$dokument;
$dokument->close;
wie ich ausgerechnet auf einen hash komme?
die ausführung dieses scripts liefert folgende anzeige:
Win32:LE=HASH(0x178148c)
die erscheint übrigens auch, wenn ich nur doof schreibe:
print „$dokument“;
obwohl ich ja eigentlich recht gespannt bin auf diesen hash denke ich mir, dass das nicht im ernst das ergebnis dieser aktion sein kann.
hat wer von euch zufällig schon mal was ähnliches versucht und kann mir sagen, was hier zu tun ist?
nochwas
im Endeffekt ist das Win32:LE ja ein Wiondows Modul. Also vielleicht suchst Du mal bei Microsoft auf der Webseite nach den Methoden und der Handhabung dieser Methoden für das Win32:LE Modul?
gute idee
hey martin,
das ist wohl als letzter notnagel sicher vernünftig, ich hab inzwischen bei activestate noch was gefunden. mal sehen, ob das funkt.
kann mir gar nicht so recht vorstellen, dass das echt so selten benutzt wird…
deine links konnte ich noch nicht checken, werd ich mir am WE mal vornehmen.
tjaa
hey martin,
die links haben ein klein wenig weiter geholfen, immerhin weiß ich jetzt, dass der hash wohl aus den visual-basic-methoden/properties besteht. deswegen hab ich mal dort gepostet…
mal sehen, ob mir da wer helfen kann.
hey martin,
die links haben ein klein wenig weiter geholfen, immerhin weiß
ich jetzt, dass der hash wohl aus den
visual-basic-methoden/properties besteht. deswegen hab ich mal
dort gepostet…
mal sehen, ob mir da wer helfen kann.
diese interessante frage kann ich jetzt beantworten:
das win32::ole-objekt liefert für word einen hash mit (gut festhalten) sage und schreibe 1969 (!) keys.
diese interessante frage kann ich jetzt beantworten:
das win32::ole-objekt liefert für word einen hash mit (gut
festhalten) sage und schreibe 1969 (!) keys.
hehe … geht ja noch Da steht bestimmt jeder „scheiss“ drinn MS eben … aber 1969 Key erstmal sortieren (also so rein gedanklich mein ich… was brauch ich und wofür etc…) dürfte heftig werden
Gibt es denn eine Liste mit den beschriebenen Inhalten?
hehe … geht ja noch Da steht bestimmt jeder „scheiss“
drinn
yo: drin sind wohl sämtliche (VB) methoden, die man auf ein word-document anwenden kann. auch wenn’s erstmal wimmelig ist, hat das aber wohl den vorteil, damit durchaus präzise arbeiten zu können.
MS eben … aber 1969 Key erstmal sortieren (also so
rein gedanklich mein ich… was brauch ich und wofür etc…)
dürfte heftig werden
schon richtig- ansonsten s.o.
Gibt es denn eine Liste mit den beschriebenen Inhalten?
ich habe bei activestate ein kleines script zum thema gefunden, dass den hash ausspuckt:
use Win32:LE::Const;
my $wd = Win32:LE::Const->Load(„Microsoft Word 8.0 Object Library“);
open (HASH, „>liste.txt“);
foreach my $key (sort keys %$wd)
{
printf HASH „$key = %s\n“, $wd->{$key};
}
close HASH;
ich habe bei activestate ein kleines script zum thema
gefunden, dass den hash ausspuckt:
use Win32:LE::Const;
my $wd = Win32:LE::Const->Load(„Microsoft Word 8.0 Object
Library“);
open (HASH, „>liste.txt“);
foreach my $key (sort keys %$wd)
{
printf HASH „$key = %s\n“, $wd->{$key};
}
close HASH;
kannst du ja mal selber sehen…
Jo prima danke! Ich werds mir mal angucken Ich brauchs zwar nicht oder wüsst auch nicht, wofür ich es brauchen könnte, aber man kann ja nie wissen Wer weiss was ich später mal brauche