Text aus Word einlesen

22. November 2013 15:00

Hallo,
ich möchte aus einem Word-Dokument den Inhalt im Textformat auslesen und in eine Textdatei speichern.

Bin da auch relativ weit. Das einzige Problem was ich hab ist, den Inhalt von einem geöffneten Word-Dokument in eine Textdatei zu übertragen.


...
......
CLEAR(Word);
CREATE(Word);
Word.Visible := FALSE;
Word.Documents.AddOld(Vorlage.Pfad);
Document := Word.ActiveDocument();
Selection := Word.Selection();

[HIER WEIß ICH NICHT WEITER]

CLEAR(Datei);
Datei.TEXTMODE := FALSE;
Datei.CREATE(Dateiname);
.....
...

Kann mir jemand helfen? Oder Weiß jemand wo ich eine Funktionsbeschreibung des Automation Server für Word & Co finden kann?

Viele Grüße
twoface

Was mir gerade auch einfällt: Es wäre auch ok wenn ich einfach das geöffnete Word-Dokument als TXT-Datei speichern könnte.

Re: Text aus Word einlesen

27. November 2013 15:36

mal en Haufen ganz blöder Fragen:
wozu willst du den Inhalt des Word-Docs auslesen und in eine Textdatei ablegen?
Was soll dann mit der Textdatei geschehen? -> Soll die in einem Pfad abgelegt werden und wenn ja, welches Programm soll später auf diese Datei zugreifen?
Weiterhin ist es wichtig zu wissen, woher die Word-Datei kommt (Dateianhang in NAV????)
Muss alles automatisiert geschehen, oder ist es ok, wenn der User den Pfad händisch eingibt und auf speichern drückt?

Re: Text aus Word einlesen

4. Dezember 2013 23:56

Hi,
Es geht darum die Schnittstelle eines anderes System über diese Dateien zu bedienen. Das ist so vorgegeben. Da kann man auch kurzfristig nichts dran drehen.
Woher die Word Dateien kommen ist auch geregelt. Es ist alles was den sonstigen Prozess betrifft schon geregelt.
Das einzige Problem was ich hab ist aus einem geöffneten Word Vorlagendokument den Inhalt auszulesen und rüber in eine textdatei zu übertragen (in der schon andere Inhalte bereits im laufe des Prozesses eingefügt wurden)

Viele Grüße
Twoface

Re: Text aus Word einlesen

5. Dezember 2013 19:46

Hi,
Es geht darum die Schnittstelle eines anderes System über diese Dateien zu bedienen. Das ist so vorgegeben. Da kann man auch kurzfristig nichts dran drehen.
Woher die Word Dateien kommen ist auch geregelt. Es ist alles was den sonstigen Prozess betrifft schon geregelt.
Das einzige Problem was ich hab ist aus einem geöffneten Word Vorlagendokument den Inhalt auszulesen und rüber in eine textdatei zu übertragen (in der schon andere Inhalte bereits im laufe des Prozesses eingefügt wurden)


Das hat aber nix mit NAV zu tun.

Das ist eine Aufgabe für VBA bzw. VB.NET Programmierer, die ein Control programmieren können, welches von einem geöffneten Word automatisch eine TXT Datei generieren und speichern können.

Erst wenn die TXT Datei vorliegt, kommt NAV ins Spiel und liest diese aus.

Daher rate ich dir, dich bei GULP umzuschauen. Für 60€ / STD gibts dort erfahrenre VBA und VB.NET Programmierer.
Das müsste IMHO eine Fingerübung sein, die man in max. 3 STD bewerkstelligt haben sollte.
Und 180 € wird deine Firma wohl haben, da NAV alleine als Komplettpaket mindestens 100k kostet.

Re: Text aus Word einlesen

9. Dezember 2013 17:28

Hallo twoface,

du kannst eigentlich direkt auf den Text aus deiner Selection zugreifen. Allerdings scheinst du bei deinem Code die Selection gar nicht zu setzen. Mit dem folgenden Code kannst du zum Beispiel den gesamten Inhalt des Word-Dokuments in die Textvariable "TextVar" schreiben.

Code:
Word.Selection.WholeStory;
TextVar := Word.Selection.Text;


Edit: Ich habe überlesen, dass dir das Speichern auch reichen würde.
Code:
FileName := 'C:\Temp\Test';
wdFormatText := 2;
Document.SaveAs2(FileName,wdFormatText);