Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Kopfzeile eines Word-Dokuments auslesen (https://www.delphipraxis.net/78057-kopfzeile-eines-word-dokuments-auslesen.html)

s.h.a.r.k 28. Sep 2006 12:36


Kopfzeile eines Word-Dokuments auslesen
 
Hallo,

ich werde nochmal wahnsinnig... ich versuche nun schon seit heute morgen die Kopfzeile von Word auszulesen und schaffe es einfach nicht. Ich habe schon einige Themen dazu gefunden, aber da steht überall immer was von "Kopfzeile erstellen", was mich nicht wirklich weiterbringt. Des Weiteren habe ich diesen Code gefunden, den ich vergeblich versucht habe anzuwenden:
Delphi-Quellcode:
WordApplication.ActiveWindow.ActivePane.View.SeekView := 10;
Die Zahl habe ich auch schon geändert, aber es imm eine Fehlermeldung, dass das Object diesen Befehl nicht unterstützt (oder sowas in die Richtung).

Hat mir jemand eine Lösung dafür? Ich wäre euch zu tiefstem Dank verbunden!

PS: In der Kopfzeile ist eine Tabelle - wie muss ich da dann drauf zugreifen?! Habe bisher noch gar nicht danach gesucht...

mfg shark

s.h.a.r.k 28. Sep 2006 13:09

Re: Kopfzeile eines Word-Dokuments auslesen
 
Ich hab hier noch ein bisschen Quelltext, wie ich mein Word-Dokument öffne - die Unit ComObj muss man dabei in die uses-Klausel aufnehmen!
Delphi-Quellcode:
function LoadDataFromWordFile(const AFile: String; var Data: TStrings): Integer;
var
  Word : Variant;
  i : Integer;
begin
  Data.Clear;
  Result := GetTickCount;
  try
    Word := CreateOleObject('Word.Application'); // Verbindung zu Word aufbauen
    Word.Documents.Add(Template:=AFile);         // Öffnen der Datei
  except
    Result := -1; // Fehler beim Öffnen von Word bzw. der Datei
  end;

  if Result > 0 then
    try
      try
        for i := 1 to Word.ActiveDocument.FormFields.Count do
          Data.Add(trim(Word.ActiveDocument.FormFields.Item(i).Result));
        Result := GetTickCount - Result;
      except
        Result := -1;
      end;
    finally
      Word.Quit;
      Word := Unassigned; // Word schließen
    end;
end;
[edit]
war irgednwie dumm einen neuen Post anzufagen - hätte den Text auch in den alten aufnehmen sollen, sorry :wall:
[/edit]

marabu 28. Sep 2006 13:30

Re: Kopfzeile eines Word-Dokuments auslesen
 
Hi,

laut Dokumentation sollte dieses Ungetüm dir helfen:

Code:
Word.ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text
Grüße vom marabu

semo 23. Okt 2006 16:47

Re: Kopfzeile eines Word-Dokuments auslesen
 
Auslesen des Headers:
Delphi-Quellcode:
 
  aOLEObject := OleDocument.Sections.Item(1);
  aOLEObject := aOLEObject.Headers;
  aOLEObject := aOLEObject.Item(wdHeaderFooterPrimary);
  aOLERange := aOLEObject.Range;
  FText     := aOLERange.Text;
Auslesen des Footers:
Delphi-Quellcode:
 
  aOLEObject := OleDocument.Sections.Item(1);
  aOLEObject := aOLEObject.Footers;
  aOLEObject := aOLEObject.Item(wdHeaderFooterPrimary);
  aOLERange := aOLEObject.Range;
  FText     := aOLERange.Text;
edited: hatte 2 mal das gleiche gepostet, sorry :cheers: @Flare

Flare 23. Okt 2006 18:45

Re: Kopfzeile eines Word-Dokuments auslesen
 
Irgendwie sind die beiden Quelltexte zum auslesen von Header und Footer identisch...oder ist das Absicht?


Flare

semo 23. Okt 2006 20:04

Re: Kopfzeile eines Word-Dokuments auslesen
 
hab die klitzekleine änderung nachgetragen, danke für den hinweis :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz