Seite 1 von 1

PureDispHelper

Verfasst: 17.06.2008 18:52
von Andi
In dem DispHelper-Readme-File steht etwas zu "Retrieving a value - Get the text of a word document". Ich habe mal versucht, das in PB umzusetzen:

Code: Alles auswählen

test_datei$ = "c:\ ....."
Define inhalt$ = space(1000)

Define.l oWord = dhCreateObject("Word.Application")

dhCallMethod (oWord, "Documents.Open(%T)", @test_datei$)

dhGetValue("%s", @inhalt$, oWord, "ActiveDocument.Range.Text")
MessageRequester("Inhalt des Dokuments", inhalt$)
Angezeigt werden aber nur ein paar kryptische Zeichen und nicht der Dokumentinhalt. Hat das vielleicht etwas mit der Definition der String-Variablen inhalt$ zu tun? Denn wenn ich sie nicht mit space(1000) initialisiere, gibt es sogar eine Fehlermeldung. Vielleicht hat jemand eine Idee!

Verfasst: 17.06.2008 19:25
von ts-soft
Ich hab hier kein Word zum testen, aber inhalt sollte ein long bzw. ein
Pointer sein, kein String!
Dieser wird bei erfolg mit PeekS gelesen und unbedingt mit dhFreeString(inhalt)
freigegeben, bevor er anderweitig genutzt wird.

Verfasst: 17.06.2008 20:36
von Andi
Danke, ts-soft, für Deine super Hilfe. Die Auslesevariable muss in der Tat ein Pointer sein. Jetzt funktioniert es einwandfrei!!