AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Word-Dokument Darstellungsfehler
Thema durchsuchen
Ansicht
Themen-Optionen

Word-Dokument Darstellungsfehler

Ein Thema von JPSelter · begonnen am 31. Mär 2005 · letzter Beitrag vom 16. Apr 2005
Antwort Antwort
Benutzerbild von JPSelter
JPSelter

Registriert seit: 24. Jan 2005
Ort: Attendorn/Sauerland
235 Beiträge
 
Turbo Delphi für Win32
 
#1

Word-Dokument Darstellungsfehler

  Alt 31. Mär 2005, 09:53
Ich lasse aus Delphi ein Word-Dok generieren mit vielen Tabellen und Text-Inhalten. Jetzt kommt aber etwas seltsames: Lasse ich das Word-Dok erstellen während Word.visible=false ist, bekomme ich falsche Ergebnisse: Die Schriftarten verschieben sich, die Tabellen überlappen sich und sind falsch verschachtelt. Lasse ich Word.visible=true dann dauert die Erstellung 3x so lange, aber die Darstellung ist völlig korrekt. Wie kann sowas passieren?

Ausserdem wäre es nett, wenn jemand von hier auf meine Frage in http://www.delphipraxis.net/internal...ct.php?t=50444 antworten könnte Danke!
=JPSelter=

Visit www.ditonovia.de for our breathtaking movies: Herrin der Ringe (Fantasy 2005), Hemisphere (Science-Fiction 2004) & Braveknife (Parodie 2001) and more...
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#2

Re: Word-Dokument Darstellungsfehler

  Alt 31. Mär 2005, 10:11
Hallo, übergibst Du während der Erstellung vielleicht irgendwelche Formatvorlagen - Seitenrand usw.? Dann kann ich mir vorstellen, dass wenn das WordDoc erstellt wird, die Formatierung durcheinander gebracht wird. Also ich meine, wenn du es mit visible:= False erstellt, dass Word dann beim erstellen seine eigene Formatierung wieder darüber legt und somit die Formatierung durcheinander würfelt.
Gruß

Albi
  Mit Zitat antworten Zitat
Benutzerbild von JPSelter
JPSelter

Registriert seit: 24. Jan 2005
Ort: Attendorn/Sauerland
235 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Word-Dokument Darstellungsfehler

  Alt 31. Mär 2005, 11:15
Hmmm da blicke ich noch nicht ganz durch. Aber ich erkläre es mal genauer:

Code:
FileName:=Extractfilepath(Application.exename)+'def.doc';
    WordApp:=CreateOleObject('Word.Application');
    WordApp.Visible:=true;
    NewDoc:=WordApp.Documents.Open(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
Wenn ich das WordApp.Visible weglasse, kommt alles durcheinander. Word lädt hier eine vorgefertigte Datei, wo eigentlich nur ein Kopf drin ist. Dann folgt eine kleine einfache Tabelle, die keine Probleme macht. Dann folgt eine neue Tabelle, die durch for-Schleifen erstellt wird (Anzahl der Zeilen hängt von der Anzahl meiner Array-Elemente ab). Und hier kommt Word durcheinander und haut die dritte Tabelle in die zweite rein. Ich habe das Gefühl, dass vielleicht die Cursor-Position da durcheinanderkommt, denn wenn es nicht visible ist, gibt es ja auch keinen Cursor.
=JPSelter=

Visit www.ditonovia.de for our breathtaking movies: Herrin der Ringe (Fantasy 2005), Hemisphere (Science-Fiction 2004) & Braveknife (Parodie 2001) and more...
  Mit Zitat antworten Zitat
Benutzerbild von JPSelter
JPSelter

Registriert seit: 24. Jan 2005
Ort: Attendorn/Sauerland
235 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Word-Dokument Darstellungsfehler

  Alt 31. Mär 2005, 11:52
Ich würde gerne mal folgendes ausprobieren: Statt hide einfach minimize. Vielleicht klappt das ja. Aber wie setze ich das? WordApp.minimize oder sowas?
=JPSelter=

Visit www.ditonovia.de for our breathtaking movies: Herrin der Ringe (Fantasy 2005), Hemisphere (Science-Fiction 2004) & Braveknife (Parodie 2001) and more...
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#5

Re: Word-Dokument Darstellungsfehler

  Alt 31. Mär 2005, 12:22
Zitat von JPSelter:
Dann folgt eine kleine einfache Tabelle, die keine Probleme macht. Dann folgt eine neue Tabelle, die durch for-Schleifen erstellt wird (Anzahl der Zeilen hängt von der Anzahl meiner Array-Elemente ab). Und hier kommt Word durcheinander und haut die dritte Tabelle in die zweite rein.
Das klingt logisch, hast Du mal versucht einfach nen "Enter" per Hand einzufügen? Um den Cursor aus der Tabelle rauszunehmen?
Gruß

Albi
  Mit Zitat antworten Zitat
Benutzerbild von JPSelter
JPSelter

Registriert seit: 24. Jan 2005
Ort: Attendorn/Sauerland
235 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Word-Dokument Darstellungsfehler

  Alt 31. Mär 2005, 12:27
Ich weiss nicht... mein Cursor steht standardmässig am oberen Rand des Doks, dann kommt dort die Tabelle hin. Wenn die Tabelle fertig ist, mache ich soviele WordApp.Selection.MoveDown wie ich brauche, um den Cursor unter die Tabelle zu bekommen für die nächste. Das klappt alles ganz normal, solange ich Word nicht hide. Das ist der einzige Unterschied zwischen "es klappt" und "es klappt nicht". Daher nehme ich an, dass wenn Word nicht gezeigt wird, auch kein Cursor ist, denn man verschieben könnte. Daher möchte ich mal nicht hide, sondern minimize verwenden, aber ich kenne den Befehl nicht, Word zu minimieren.
=JPSelter=

Visit www.ditonovia.de for our breathtaking movies: Herrin der Ringe (Fantasy 2005), Hemisphere (Science-Fiction 2004) & Braveknife (Parodie 2001) and more...
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#7

Re: Word-Dokument Darstellungsfehler

  Alt 1. Apr 2005, 07:36
Hallo,

versuche doch mal den Befehl MoveDown durch WordApp.Selection.TypeParagraph zu ersetzen.Damit simulierst Du ein Enter.

Bei mir funzt das ohne Probleme. Und meine Documents werden auch erst sichtbar, wenn alles erstellt wurde.
Gruß

Albi
  Mit Zitat antworten Zitat
Benutzerbild von JPSelter
JPSelter

Registriert seit: 24. Jan 2005
Ort: Attendorn/Sauerland
235 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Word-Dokument Darstellungsfehler

  Alt 6. Apr 2005, 11:52
Ich habe langsam den Eindruck, dass MoveDown nicht funktioniert, wenn Word nicht sichtbar ist. Er ignoriert es dann einfach. MoveDown kann ich leider nicht durch TypeParagraph ersetzen, weil ich den Cursor nicht durch ENTER aus der Tabelle rausbewegen kann, sondern nur mit der Pfeil-nach-unten-Taste.
=JPSelter=

Visit www.ditonovia.de for our breathtaking movies: Herrin der Ringe (Fantasy 2005), Hemisphere (Science-Fiction 2004) & Braveknife (Parodie 2001) and more...
  Mit Zitat antworten Zitat
muenster

Registriert seit: 9. Apr 2005
Ort: Hamburg
41 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Word-Dokument Darstellungsfehler

  Alt 16. Apr 2005, 14:44
Hallo,

zunächst würde ich keine .doc aufrufen sondern das Ganze über eine Vorlage (.dot) steuern. Man hat dann keine Probleme bei Änderungen in der normal.dot.

Die erste Tabelle ist ja in der Datei definiert, dann kann man da raus und dort eine Textmarke setzen. Die Textmake kann dann in der Fernsteuerung durch (nicht hauen, nur navigations-Befehl) GoTo Anweisung anspringen. So kommt der Cursor aus der esten Tabelle raus ohne diese mit der zweiten zu verunstalten.

Der GoTo ist von 97 auf 2000 anders aufzurufen, also Version checken - Delph Unit/ Word!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 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