Autor Beitrag
WileECoyote
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: So 06.11.05 19:10 
Hallo,

wenn ich aus Delphi heraus nach Word "drucke", wie kann ich da das Layout gestalten?
Ich hätte gern eine Kopf sowie eine Fußzeile (mit Linien vom Arbeitsbereich getrennt)
mit automatischen Seitenzahlen, Erstellungsdatum etc.
(ich möchte ungern mit einer Vorlage arbeiten)
Außerdem würde ich ganz gerne die Elemente, die ich nach Word exportiere vernünftig anordnen.
Kann mir vielleicht jemand sagen, wie das geht?
Ich exportiere sowohl normalen Text als auch Grafiken.

Wäre super, wenn hierfür jemand einen Tipp hätte, wenn möglich auch mit Quellcode, weil ich hiervon leider absolut keine Ahnung habe.

Danke im voraus und beste Grüße,

Wile E.

_________________
Wer in diesem Beitrag Rechtschreibfehler findet...darf sie behalten
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: So 06.11.05 20:29 
wenn du auch das Layout selber festlegen willst, kommst du mit einem Reportgenerator wie Rave oder Quickreport (je nach Delphiversion) sicher besser.

Wenn du in Word bleiben willst: zeichne dir Makros auf und gugg sie dir in VB an, damit hast du alle notwendigen Befehle und Konstanten. Die Forensuche hilft dir hier auch um die Stolpersteinchen zu finden.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
WileECoyote Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: So 06.11.05 22:49 
Hallo Keldorn,

muss leider in Word bleiben, ist Vorgabe.
Oder kann ich das alles in einem Quickreport machen und den anschließend nach Word exportieren? (mit Kopf-/Fusszeile etc.?)

Das mit dem Makros aufzeichnen war eigentlich ne sehr geile Idee, leider klappt das mit der Umsetzung der Befehle in Delphi nicht so wirklich.

Gibt es denn nicht irgendwo eine Hilfe, in der ich alle Befehle, die ich mit dem OleVarinat machen kann, stehen? Hier im Forum finde ich leider auch nicht die Sachen, die ich brauche.

Danke und Gruß, Wile E.

_________________
Wer in diesem Beitrag Rechtschreibfehler findet...darf sie behalten
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: So 06.11.05 22:53 
user profile iconWileECoyote hat folgendes geschrieben:

Das mit dem Makros aufzeichnen war eigentlich ne sehr geile Idee, leider klappt das mit der Umsetzung der Befehle in Delphi nicht so wirklich.

bei was denn zum Beispiel?

wie gesagt, ich kann dir nur empfehlen, dir die Bsp im Forum anzuschauen. Es gibt ein paar Sachen, die ein wenig anders laufen (z.B. über die items eigenschaft gehen), aber wiklich schwer ist es nicht.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
WileECoyote Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: Mo 07.11.05 00:10 
Hallo,

ein Beispiel habe ich hier:

Ich versuche, eine Kopf/Fusszeile einzufuegen, aber ich komme nicht mal in die "Nähe", dass es funktionieren könnte...


ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader

NormalTemplate.AutoTextEntries("Erstellt von, Seite, Datum").Insert Where _
        :=Selection.Range, RichText:=True

If Selection.HeaderFooter.IsHeader = True Then
   ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
Else
   ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
End If

NormalTemplate.AutoTextEntries("Seite X von Y").Insert Where:=Selection. _
Range, RichText:=True

Selection.TypeText Text:="                          GftSollIst"


Ich habe jetzt noch herausgefunden, dass es eine Wordapplication gibt.
In den Beispielen ist das immer mit Word2000 gemacht worden. Funktioniert dass nur damit? Ich habe nämlich Word2003 und bei mir klappt der Befehl "connect" schon nicht.

Gruß, Wile E.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mo 07.11.05 19:40 
user profile iconWileECoyote hat folgendes geschrieben:

In den Beispielen ist das immer mit Word2000 gemacht worden.

das ist meistens egal. Am Anfang der delphi-Installation wirst du gefragt, welche Wordpackages du einbinden willst. Nachträglich kannst du das auch noch ändern -> siehe OH. es hängt natürlich davon ab, welche Delphi Verions du verwendest, mit Deelphi6 hast du nur die 97 und 2000-Office packages.

user profile iconWileECoyote hat folgendes geschrieben:
Funktioniert dass nur damit? Ich habe nämlich Word2003 und bei mir klappt der Befehl "connect" schon nicht.

klappt nicht, absolut geniale und aussagekräftige Fehlerbeschreibung :roll:

einen Teil des makros (anzeigewechsel Kopf/Fußzeile) kannst du dir sparen.
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
procedure TForm1.Button1Click(Sender: TObject);
Var _index,_Richtext:olevariant;
begin
  //eine Wordapplication auf die Form, alle einstellugen so lassen
  WordApplication1.Connect;
  try
    //neues Dokument hinzufügen und zu diesem verbinden
    WordDocument1.ConnectTo(WordApplication1.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam));
    WordApplication1.Selection.TypeText('Hallo');

    //Kopzeile anzeigen und Text einfügen
    WordApplication1.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
    _index := 'Erstellt von, Seite, Datum';
    _Richtext:=true;
    WordApplication1.NormalTemplate.AutoTextEntries.Item(_index).Insert(WordApplication1.Selection.range,_richtext);

    //fußzeile anzeigen und Text einfügen
    WordApplication1.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageFooter;
    _index := 'Seite X von Y';
    _Richtext:=true;
    WordApplication1.NormalTemplate.AutoTextEntries.Item(_index).Insert(WordApplication1.Selection.range,_richtext);
    //text zentrieren
    WordApplication1.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter;

    //wieder zurück zum Dokument
    WordApplication1.ActiveWindow.ActivePane.View.SeekView := wdSeekMainDocument;

    //"Enter" und nochmal was vom Text
    WordApplication1.Selection.TypeParagraph;
    WordApplication1.Selection.TypeText('blabla');
    //worddocument close, save etc. -> Forensuche
  finally
    WordApplication1.Disconnect;
  end;
end;


Wenn du es ein paar mal gemacht hast, weißt du, auf was du aufpassen mußt (zuwas gehört z.B. Selection, NormalTemplate -> zu Wordapplication), das du die Items-Eigenschaft verwenden mußt (steht im Makro nicht drin) und mit Hilfe der Codevervollständigung bekommst du auch schnelle raus, wann du mit OleVariant arbeiten mußt.

Aber wenn du schon am Anfang Probleme hast, wird der Weg mehr als steinig, ich würd mir das wirklich nochmal überlegen ob Word wirklich das richtige ist. wieso und für was ist das Vorgabe?

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
WileECoyote Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: Di 08.11.05 00:32 
Hallo Keldorn,

sorry, dass ich erst jetzt wieder hier bin, aber Scheisslanger Arbeitstag und dann musste ich bis eben noch eine Bedienungsanleitung für die Zwischenversion erstellen...

Erstmal vielen Danke für deine viele Hilfe...der Quelltextausschnitt ist supergenial, dass ist genau dass, wo ich gestern Nacht 3 Stunden lang rumgemacht habe...echt super!!!!!

Du hast recht, über das "Autovervollständigen" finde ich schon die Befehle die ich brauche, aber ich komm irgendwie mit den OLEVARIANT-Variablen nicht klar, die Funktionsaufrufe gehen dann immer nicht, weil ich nicht weiss, was ich da reinschreiben soll und dann bekomm´ ich immer die Fehlermeldung "Die Typen der formalen und der tatsächlichen Parameter müssen übereinstimmen..."...ja du hast recht, wird wohl noch sehr steinig, aber ist leider Vorgabe so...dass Projekt mach ich neben der Arbeit für einen Verlag, und die haben bis jetzt bei allen Projekten eine "druckfunktion" nach Word...da muss man sich halt fügen.

Das mit dem Connect hab ich inzwischen auch hinbekommen...so spät vergisst man schon mal das TWordapplication.create...

Ich habe mir mal in einer Schleife alle Namen der Autotextentries ausgeben lassen. Kann ich die alle als String übergeben, so wie du das unten gemacht hast? Oder muss ich den Wert "Value" nehmen?

Und wenn du mir noch sagen könntest, wie ich Linien unter die Kopf- und über die Fusszeile bekomme, wäre ich der glücklichste Mensch auf Erden...oder auf jeden Fall nah dran.

Also, nochmals vielen vielen Dank für deine Hilfe,

beste Grüße aus Braunschweig,

Wile E.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Di 08.11.05 14:03 
z.B. hinter WordApplication1.NormalTemplate.AutoTextEntries

ausblenden Delphi-Quelltext
1:
2:
3:
    WordApplication1.Selection.Borders.Item(wdBorderBottom).LineStyle :=wdLineStyleDouble;
    WordApplication1.Selection.Borders.Item(wdBorderBottom).LineWidth :=wdLineWidth050pt;
    WordApplication1.Selection.Borders.Item(wdBorderBottom).Color     :=wdColorRed;


wdborderbottom: die andere Konstanten siehe OH vom VBA_Word oder über die codevervollständigung.

dort wo Olevariant steht, kannst du keine Strings etc. übergeben, da mußt du über eine Variable gehen.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
WileECoyote Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: Do 10.11.05 22:02 
hi keldorn,

nochmals vielen vielen dank für deine hilfe!!!
und auch nochmals sorry, dass ich mich dann nicht melde, aber arbeit ist im moment chaos...
zwei fragen hab ich noch:

kann ich denn dem olevariant nen string mitgeben und ihn dann als inputparameter verwenden?
(dass hatte ich schonmal versucht, und immer die meldung bekommen, dass die tatsächlichen mit den formalen parameternübereinstimmen müssen???)

und wenn ich wordapplication.normaltemplate....verwende, überschreib ich mir dann nicht die normal.dot? habe nämlich, nachdem ich die geöffneten dokumente schließen wollte, öfter mal die meldung bekommen, dass ich die normal.dot speichern soll? gibt es auch sowas wie actualtemplate??


vielen dank und beste grüße aus braunschweig,

Wile E.

_________________
Wer in diesem Beitrag Rechtschreibfehler findet...darf sie behalten
WileECoyote Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: Do 10.11.05 22:43 
sorry, nochmal ich...

warum verwendest du wordapplication.activewindow...müßte es nicht activedocument sein?

was ist der unterschied??

gruß, wile E.
WileECoyote Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: Fr 11.11.05 01:07 
hi,

jetzt habe ich noch folgendes problem:

ich möchte zur zeit nur in der kpfzeile) textfelder hinzufügen. eins soll rechts, das andere soll links ausgerichtet sein.
ich bekomme das aber mit dem formfields.add nicht hin:

variante 1:



ausblenden Delphi-Quelltext
1:
2:
3:
formfeld:=myword.ActiveDocument.FormFields.Add(myword.Selection.Range,wdFieldFormTextInput);
formfeld.Name:='ueberschrift';
formfeld.Range.Text:=name;


hier bekomme ich immer den fehler "Dieser Befehl ist nicht verfügbar".

die andere variante war:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
var _field : TOleEnum;
...

_field := wdFieldFormTextInput;
myword.ActiveDocument.FormFields.Add(myword.Selection.Range,_field);


aber auch hier bekomme ich die fehlermeldung...habe diese varianten beide aus dem forum...warum klappt das nicht?

und wie kann ich das machen, dass ich sie nachher ansprechen kann?
hier im forum habe ich gesehen, dass es, nachdem sie einmal angelegt sind, mit
ausblenden Delphi-Quelltext
1:
2:
myword.ActiveDocument.FormFields.Item(formfeld.name).Range.Text:=name;
myword.ActiveDocument.Formfields.Item('Text1').Result := name;


geht, also muss ich ihnen ja wie im ersten beispiel einen namen zuweisen??


und wie kann ich die dinger denn in derselben zeile rechts und links ausrichten?
ich brauch nicht unbedingt formfields, habe es vorher nur über typetext versucht, wenn ich die aber nacheinander auf das formular gepackt habe und jeweils anschließend das selection.paragraphformat.alignment gesetzt habe, sind beide ausdrücke nach rechts bzw. links gewandert???
ausblenden Delphi-Quelltext
1:
2:
3:
4:
myword.Selection.TypeText(name);
myword.Selection.ParagraphFormat.Alignment:= wdalignparagraphleft;
myword.Selection.TypeText('Evaluierung GFT Sol[l]Ist');
myword.Selection.ParagraphFormat.Alignment:= wdalignparagraphright;


wär super, wenn du mir dass noch zeigen könntest

vielen dank schonmal im vorraus,

Wile E.

ps: bei den autotextentries wird "Seite X von Y" nicht angezeigt? kann das an der vorlage liegen(normal.dot evtl zerschossen??)
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Fr 11.11.05 18:42 
user profile iconWileECoyote hat folgendes geschrieben:
hi keldorn,
kann ich denn dem olevariant nen string mitgeben und ihn dann als inputparameter verwenden?
(dass hatte ich schonmal versucht, und immer die meldung bekommen, dass die tatsächlichen mit den formalen parameternübereinstimmen müssen???)

Beispiel?

user profile iconWileECoyote hat folgendes geschrieben:
und wenn ich wordapplication.normaltemplate....verwende, überschreib ich mir dann nicht die normal.dot? habe nämlich, nachdem ich die geöffneten dokumente schließen wollte, öfter mal die meldung bekommen, dass ich die normal.dot speichern soll? gibt es auch sowas wie actualtemplate??

Mußt du in der Wordhilfe nachlesen, ob es sowas gibt. Alternativ den Text selber schreiben, auf einem nicht dt. System wird der AutotextEintrag sowieso nicht da sein
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Var: _type,_Text,_PreserveFormatting:olevariant;
...
    WordApplication1.Selection.TypeText('Seite ');
    _Type:=wdFieldEmpty;
    _Text:='PAGE';
    _PreserveFormatting:=true;
    WordApplication1.Selection.Fields.Add(WordApplication1.Selection.Range,_type,_Text,_PreserveFormatting);
    WordApplication1.Selection.TypeText(' von ');
    _Text:='NUMPAGES';
    WordApplication1.Selection.Fields.Add(WordApplication1.Selection.Range,_type,_Text,_PreserveFormatting);


user profile iconWileECoyote hat folgendes geschrieben:

warum verwendest du wordapplication.activewindow...müßte es nicht activedocument sein?

Ich richte mich nach den Makros. Es kommt auch immer drauf an, wenn du nur dSachen ins Dok reinschreibst und es nicht wider brauchst, reicht das meiner Meinung nach. Wenn du länger Zeit damit arbeitest (z.B. Daten reinschreiben, Nutzer kann noch was ändern und anschließend wird es vom Delphiprog geschlossen) würde ich nicht mehr mit activedocument arbeiten. Das Risko wäre zu groß, das der Anwender in der Zwischenzeit ein anderes Dok geöffnet hat, mit activedocument greifst du dann vielleicht aufs falsche zu. du kannst dir noch ein Worddoc auf die Form pappen und dich zu dem Connecten.

user profile iconWileECoyote hat folgendes geschrieben:

und wie kann ich die dinger denn in derselben zeile rechts und links ausrichten?
ich brauch nicht unbedingt formfields, habe es vorher nur über typetext versucht, wenn ich die aber nacheinander auf das formular gepackt habe und jeweils anschließend das selection.paragraphformat.alignment gesetzt habe, sind beide ausdrücke nach rechts bzw. links gewandert???

Mach das mal in Word nach ;) dann wird dir klar, das das so nicht gehen kann. Nutze Tabs.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
    WordApplication1.Selection.TypeParagraph;
    WordApplication1.Selection.TypeText('Links'+chr(vk_tab)+'Rechts');
    _Alignment:= wdAlignTabRight;
    _Leader   := wdTabLeaderSpaces;
    WordApplication1.Selection.ParagraphFormat.TabStops.Add(
         WordApplication1.CentimetersToPoints(15.87),
         _Alignment,
         _Leader);


ausblenden Delphi-Quelltext
1:
2:
3:
4:
var _field : Olevariant  
...  
_field := wdFieldFormTextInput;  
myword.ActiveDocument.FormFields.Add(myword.Selection.Range,_field);

geht.

alternativ: www.dsdt.info/tipps/?id=599
Auch hier: in der Word-VB-Hilfe nachschauen, welche Eigenschaften es gibt, da gibts bestimmt auch den Namen.
Bei Formularfeldern mußt du aufpassen: Word prüft nicht, ob der Name schon vergeben wurde. Du kannst 2 Felder "Bla" erstellen und bekommst später evtl Problem beim Zugriff.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
WileECoyote Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: Fr 11.11.05 18:56 
hi frank,

aber wie gebe ich den formfields einen namen, dass ich sie wieder ansprechen kann??
auch in dem beispiel auf "dsdt" werden immer nur bestehende felder gefüllt.

und bei

ausblenden Delphi-Quelltext
1:
2:
3:
4:
var _field : Olevariant  
...  
_field := wdFieldFormTextInput;  
myword.ActiveDocument.FormFields.Add(myword.Selection.Range,_field);

bekomme ich immer die fehlermeldung: "Befehl nicht verfügbar".

irgend ne idee? ich kanns mir nicht erklären, denn den quelltext habe ich ja auch schon in diversen beiträgen gesehen

gibt es eigentlich irgendein buch, in dem dieser kram irgendwie beschrieben ist?

danke und gruß, Wile E.

_________________
Wer in diesem Beitrag Rechtschreibfehler findet...darf sie behalten
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Sa 12.11.05 20:52 
Doch das geht. Aber nicht in der Kopf/Fußzeile, probiers in Word, geht auch nicht, wie auch. Ein Textformularfeld macht nur Sinn, wenn es einmal existert.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
Var _Formfield:Formfield;
...
    _field := wdFieldFormTextInput;
    _Formfield:=WordApplication1.ActiveDocument.FormFields.Add(WordApplication1.Selection.Range,_field);
    _Formfield.Name := 'TestName';


Mfg frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
WileECoyote Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: Mo 14.11.05 02:00 
hi frank,

ich wiederhole mich, aber vielen dank für deine hilfe!!

nun habe ich noch eine frage:

kann ich irgendwie feststellen, an welcher position (horizontal) ich bin?

in der kopfzeile soll nämlich zunächst (links) der dateiname stehen und (rechts) der programmname
wenn ich nun dazwischen 2 tabs einfüge, klappt das auch schonmal ganz gut
wenn der anwender aber z.b. "iiiiii" als dateiname angibt, passt das nicht mehr, (da brauch ich dann 3) wohingegen es bei "aaaaaa" passt. die character zu zählen bringt mir also nichts und die schrift so anzupassen, dass für jeder buchstabe denselben platz braucht, sieht sch.... aus.

gibts da ne möglichkeit?

oder kann man, nachdem man zum beispiel zunächst beide begriffe eingefügt hat, mit moveleft an den anfang des programmnamens springen und so lange leerzeichen einfuegen, bis der name umgebrochen werden würde?

danke und gruß, Wile E.

_________________
Wer in diesem Beitrag Rechtschreibfehler findet...darf sie behalten
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mo 14.11.05 21:21 
konkretes Bsp wäre hilfreich, so richtig verstehe ich es nicht. Warum nicht einen rechtsbündigen Tab? 2 Tabs würde ich nie setzen, wenn dann einen und die Position entsprechend setzen und nicht die Standardtabs nutzen.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
WileECoyote Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: Di 15.11.05 18:47 
hi frank,

hier mal das beispiel:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
   myword.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
   myword.Selection.TypeText(dateiname);
   myword.Selection.TypeText(chr(vk_tab)+chr(vk_tab));
   myword.Selection.Font.Bold := wdtoggle;
   myword.Selection.Font.Name:='Verdana';
   _alignment := wdaligntabcenter;
   _Leader := wdtableaderspaces;
   //myword.Selection.ParagraphFormat.TabStops.Add(myword.CentimetersToPoints(10),_Alignment,_Leader);
   myword.Selection.TypeText('Evaluierung GFT Sol[l]Ist');


der "dateiname" soll links ausgerichtet sein und er kann theoretisch beliebigen text enthalten, von einem buchstaben bis...
der text "Evaluierung GFT Sol[l]Ist" soll rechtsbündig stehen.

dass kriege ich im moment nur hin, wenn ich die beiden tabs dazwischen schreibe...ist der dateiname nun allerdings sehr kurz, ist es ein tab zu wenig, wenn der dateiname recht lang ist, entsprechend
mit dem paragraphformat habe ich auch rumexperimentiert, passiert aber ungefähr gar nichts, egal ob ich einen zentimeter angebe oder zehn...

vielen dank und beste grüße aus braunschweig,

Wile E.

_________________
Wer in diesem Beitrag Rechtschreibfehler findet...darf sie behalten
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Di 15.11.05 20:22 
mein bsp oben macht doch bereits das, was du willst.
außerdem fügst du einen zentrierten Tab ein, das da weder weas links noch rechtsbündiges rauskommt, ist klar ;)

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
WileECoyote Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82



BeitragVerfasst: Di 15.11.05 21:02 
das mit dem centertab steht da, weil ich ein bisschen rumgespielt habe...

es wird mir aber nur ein ganz normaler tab eingefügt (habe jetzt nochmal dein beispiel kopiert),
so dass das "rechts" aus deinem beispiel in der mitte steht

_________________
Wer in diesem Beitrag Rechtschreibfehler findet...darf sie behalten
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Di 15.11.05 22:20 
dann zeig nochmal deinen richtigen code

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)