![]() |
OLE: Word - Tabulator setzen
Ich schreibe aus meinem Prog heraus Einstellungen in ein Word Doku.
Ich nehme nicht die OLE-Server (Word.Application und Word.Document), da diese einfach nicht laufen wollten (habe es mit ![]() Das läufgt jetzt auch wunderbar (dank einem schönen Bsp.-Prog :roll: ), doch ich bekomme keinen Tabulatorsprung hin. Habe schon das Makro-Tool mitlaufen lassen, das sieht folgendermassen aus: Selection.TypeText Text:="hallo" Selection.TypeParagraph Selection.TypeText Text:=vbTab & "dies ist ein test" Selection.TypeParagraph Selection.Delete Unit:=wdCharacter, Count:=1 Selection.TypeParagraph Selection.TypeParagraph Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(4), _ Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces Selection.TypeText Text:=vbTab & "tab gesetzt!" Umgesetzt in Delphi:
Delphi-Quellcode:
Also, wie bekomme ich einen Tabulatorsprung hin? Und wie setze ich meinen Tabulator auf einen Wert (Lineal auf x(4)cm von links, wie oben im Makro?
var Word : OLEVariant;
begin Word.Selection.TypeText(Text := EditSteuer_Bits.Text); Word.Selection.TypeParagraph; Word.Selection.TypeParagraph; Word.Selection.TypeText(Text := 'hallo' & vbTab); //vbTab wird nicht akzeptiert ... end; thx :angle2: |
Re: OLE: Word - Tabulator setzen
Hallo,
probiers mal mit
Delphi-Quellcode:
Word.Selection.TypeText('hallo'#13#10);
|
Re: OLE: Word - Tabulator setzen
nö, die operatoren funktionieren da nicht.
|
Re: OLE: Word - Tabulator setzen
Das sollte natürlich so ausschauen:
Delphi-Quellcode:
Welche Operatoren meinst du?
Word.Selection.TypeText('hallo'#9);
|
Re: OLE: Word - Tabulator setzen
mit operatoren meinte ich dein #xx
[edit] müll geschrieben, geht doch...[/edit] Aber es sollte doch ein OLE-Befehl geben welcher funktioniert --> vbTab :?: Sprich #13 = Word.Selection.TypeParagraph; #9 = Word.Selection.(???) Tjo, jetzt geht's noch darum die Einstellung auf einen bestimmten Sprungwert zu schicken. Update: Hab's hinbekommen:
Delphi-Quellcode:
Allerdings ist die Position in einem untypischen Maß, sind keine mm oder cm, die 50 entsprechen 1,76cm :gruebel:
Word.Selection.ParagraphFormat.tabstops.add(Position:=50, Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces);
|
Re: OLE: Word - Tabulator setzen
vbTab ist nichts anderes als eine Konstante, die in VBA Global zur Verfügung steht.
lt deinem Beispiel müsste der Tabulatorsprung mit Tabstops.Add funktionieren. Diese Funktion ist folgendermassen deklariert:
Delphi-Quellcode:
Und da gibts noch die Funktion CentimetersToPoints, die in der ActiveX Library als Global deklariert ist.
Function Add(Position As Single, [Alignment], [Leader]
Ich vermute mal, dass es so funktioniert:
Delphi-Quellcode:
Word.Selection.ParagraphFormat.TabStops.Add(Word.CentimetersToPoints(4))
|
Re: OLE: Word - Tabulator setzen
erstma danke für die Hilfe.
Tabstops bzw. Tabstop mag er nicht :( Das mit der activex hab ich noch nicht probiert, einfach nur activex in uses schreiben und es funzt? Tjo, und wenn wir schon dabei sind: Wie kann ich anstatt der Standardbezeichnung "Dokument1" Word beim Aufruf dazu bringen einen alternativen Dokunamen zu verwenden? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz