Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Word Komponenten
berni - Mo 10.03.03 11:47
Titel: Word Komponenten
Hallo,
kennt jemand irgendwo eine DOKU, die die ganzen unter Delphi einsetzbaren WORD-Befehle mal dokumentiert ?
Leider bin ich blutiger Anfänger und schaffe es einfach nicht die WordMacros in entsprechende Delphi-Befehle zu übersetzen.
Beispiel:
MACRO:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| Sub Makro1() ' Options.DefaultBorderLineWidth = wdLineWidth225pt Options.DefaultBorderColor = wdColorGold With Selection.Borders(wdBorderBottom) .LineStyle = Options.DefaultBorderLineStyle .LineWidth = Options.DefaultBorderLineWidth .Color = Options.DefaultBorderColor End With Selection.TypeText Text:="xxxxx" Selection.TypeParagraph Selection.TypeBackspace End Sub |
Was ich kann ist:
Quelltext
1: 2: 3: 4: 5: 6:
| WordApplicationAngebot.Selection.Borders.Enable := integer(True); WordApplicationAngebot.Selection.Font.Bold := integer(True); WordApplicationAngebot.Selection.TypeText(oraqAGPrint.FieldAsString('PRODUKTGRUPPE') + #13); WordApplicationAngebot.Selection.Font.Bold := integer(False); WordApplicationAngebot.Selection.TypeText(oraqAGPrint.FieldAsString('BESCHREIBUNG') + #13); .... |
Was ich aber absolut nicht hinbekomme ist, den Border Style auf "nur unten" zu setzen, die Farbe auf Orange und dass auch noch ausschliesslich für die ERSTE Zeile zu machen.
Wenn ich mit
Quelltext
1:
| WordApplicationAngebot.Selection.Borders.Enable := integer(False); |
das nach der ersten Zeile Text wieder ausschalte, dann ist auch alles weg. Wenn ich es nicht ausschalte dann ist aber alles mit Border umgeben und das will ich auch nicht.
Hilfe ... das bringt mich noch alles um den Verstand ....
Gruss,
Bernd
Moderiert von
Tino: Code-Tags hinzugefügt.
Keldorn - Mo 10.03.03 12:59
Hallo,
Zitat: |
kennt jemand irgendwo eine DOKU, die die ganzen unter Delphi einsetzbaren WORD-Befehle mal dokumentiert ?
|
nicht direkt für Delphi, aber wenn du die serverkompos einsetzt, kannst du die Codevervollständigung nutzen oder schaust dir den Source an (OCX/Servers/WordXXX) (hilft dir sehr!).
was die Befehle bedeuten, kannst du in der VB-Hilfe nachlesen
das mit den Makros aufzeichnen und nach Delphi versuchen umzusetzen, machst du richtig.
Zitat: |
Sub Makro1()
...
With Selection.Borders(wdBorderBottom)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
...
|
auf Border-Eigenschaft kannst du so zugreifen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| Var _Borders:Borders; _border:border; begin _borders := word.Selection.Borders; _border :=_borders.item(wdBorderbottom); _border.LineStyle :=wdLineStylesingle;
oder
border(word.Selection.Borders.Item(wdBorderbottom)).LineStyle := wdLineStylesingle;
oder
with border(word.Selection.Borders.Item(wdBorderbottom)) do begin LineStyle := ... LineWidth := ... end; |
Mfg Frank
berni - Mo 10.03.03 13:41
Hallo,
mein Problem ist jetzt den wdBorderBottom auch einzuschalten !
Wenn ich mit
Quelltext
1:
| WordApplicationAngebot.Selection.Borders.Enable := integer(False); |
den Border enable, dann ist der komplett um die Zeile rum, also der falsche Typ. Wie klann jetzt aber nirgend den wdBorderBotom aktivieren.
Source Code habe ich leider nicht, ich habe nur die dcloffice2k50.bpl eingebunden. ;-(
Moderiert von
Tino: Code-Tags hinzugefügt.
berni - Mo 10.03.03 15:34
Auflösung:
Quelltext
1: 2: 3:
| WordApplicationAngebot.Selection.Borders.Item(wdBorderLeft).LineStyle := vLineStyleNone; WordApplicationAngebot.Selection.Borders.Item(wdBorderRight).LineStyle := vLineStyleNone; WordApplicationAngebot.Selection.Borders.Item(wdBorderTop).LineStyle := vLineStyleNone; |
und zwar NACH !!!!!!! dem
Quelltext
1:
| WordApplicationAngebot.Selection.Borders.Enable := integer(True); |
Das geht dann ....
Ist krank abartig und pervers, aber es geht ....
Moderiert von
Tino: Code-Tags hinzugefügt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!