AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wordautomation Zeilenabstand einstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Wordautomation Zeilenabstand einstellen

Ein Thema von Alfredo · begonnen am 5. Jul 2021 · letzter Beitrag vom 9. Jul 2021
Antwort Antwort
Seite 1 von 2  1 2      
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
264 Beiträge
 
Delphi 11 Alexandria
 
#1

Wordautomation Zeilenabstand einstellen

  Alt 5. Jul 2021, 16:53
Delphi-Quellcode:

Var
oWord1: OLEVariant;
oDocument: OLEVariant;
oRange: OLEVariant;

begin
  try
    oWord1 := CreateOleObject('Word.Application');
    oWord1.Visible := True;
    oDocument := oWord1.Documents.Add();
    oRange := oDocument.Range();
    oRange.Font.Name := 'Courier New';
    oRange.Font.Size := 8;
 
    oRange.Text := 'Text1' + chr(13);
    oRange.Move(wdstory);

    oRange.Text := "Text2" + chr(13);
    oRange.Movew(wdStory);
  finally
  end;
end;
Der Zeilenabstand zu Text2 ist leider größer als nächste Zeile.

Geändert von Alfredo ( 5. Jul 2021 um 20:23 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
711 Beiträge
 
Delphi XE5 Professional
 
#2

AW: Wordautomation Zeilenabstand einstellen

  Alt 5. Jul 2021, 18:21
Hallo Alfredo,
Du kannst Deinen Quellcode etwas übersichtlicher formatieren, wenn Du das Delphi-Symbol (= gelber Helm mit dem roten Kamm) vom Menü direkt über dem Editorfenster benutzt. Oder für neutrale Fälle als einfachen Code mit dem Symbol gleich links daneben (= auf weißem Blatt blaue eckige Klammern <>). Das geht auch nachträglich.

Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
mmw

Registriert seit: 10. Sep 2019
Ort: OWL
322 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Wordautomation Zeilenabstand einstellen

  Alt 5. Jul 2021, 18:50
hallo,
das sollte hiermit funktionieren.

https://docs.microsoft.com/de-de/off...inespacingrule

Gruß
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Wordautomation Zeilenabstand einstellen

  Alt 6. Jul 2021, 08:22
Evtl. wäre es auch etwas Word-Konformer, wenn man anstatt mit CHR(13) usw. zu arbeiten, Paragraphs.Add benutzt.
Ralph
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
264 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Wordautomation Zeilenabstand einstellen

  Alt 6. Jul 2021, 09:26
Vielen Dank für eure Hinweise:

Die Lösung ist, dass chr(13) einen harten Zeilenumbruch vornimmt.

Für mein Problem ist jedoch ein weicher Zeilenumbruch([Enter]+Shift) = Chr(11) notwendig.

In der Delphi-Praxis steht die Lösung bereits unter "OLE Word Zeilenumbruch".

Gibt es denn für chr(11) auch etwas dass Word-Konform ist?
Mein altes Automationshandbuch für VFP hat mir "Paragraphs.Add" einfach unterschlagen.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: Wordautomation Zeilenabstand einstellen

  Alt 6. Jul 2021, 10:40
Gibt es denn für chr(11) auch etwas dass Word-Konform ist?
Mein altes Automationshandbuch für VFP hat mir "Paragraphs.Add" einfach unterschlagen.
ActiveDocument.Paragraphs(1).Range.InsertBreak wdLineBreak

Wobei + CHR(11) schon einfacher ist
Ralph
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
264 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Wordautomation Zeilenabstand einstellen

  Alt 7. Jul 2021, 07:53
Beim Testen ist mir aufgefallen, dass der Compiler keine Fehler meldet,
aber zur Laufzeit Fehler in der Codierung des Word-Objektes festgestellt
werden.

Kann man den Compiler dazu bringen, dass er diese Fehler beanstandet?
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Wordautomation Zeilenabstand einstellen

  Alt 7. Jul 2021, 08:21
nicht bei der späten Bindung. Damit der Compiler meckert musst Du die frühe Bindung machen, d.h. die TLB in eine pas umwandeln und diese einbinden und verwenden.
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
264 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Wordautomation Zeilenabstand einstellen

  Alt 7. Jul 2021, 11:02
Hallo Lemmy,

in meiner Form steht in der uses comobj.

Die comobj ist m.E. bereits eine pas.

Was übersehe ich?

Gruß
Alfred
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Wordautomation Zeilenabstand einstellen

  Alt 7. Jul 2021, 16:37
alles was du in Delphi einbindest dürfte ne pas sein - zumindest wenn Sourcen drin stehen.

Du sollst über Delphi Menü Komponente - Komponente importieren - Typbibliothek importieren: in der Liste dann Microsoft Word suchen und auswählen. Dazu muss Word natürlich importiert sein. Auf der nächsten Seite die "Palette" nicht definieren, ebenso wenig "Komponenten Wrapper erstellen" auswählen. Nochmal "Weiter" und "Unit anlegen" und Fertigstellen.

Die Unit kannst Du dann einbinden und die Klasse TWordApplication (oder wie immer die dann auch heißt) "normal" wie jede andere Klasse in Delphi nutzen.

Nachteil dieser Art ist aber, dass dein Programm dann ohne installiertes MS Word mit aktiver OLE-Schnittstelle nicht mehr laufen wird.

Die comobj enhält "lediglich" die notwendigen Sourcen um mit COM zu arbeiten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:02 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