AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Richtext mit Formatierung in Excel einfügen

Ein Thema von Reinhardtinho · begonnen am 15. Aug 2007 · letzter Beitrag vom 16. Aug 2007
Antwort Antwort
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#1

Richtext mit Formatierung in Excel einfügen

  Alt 15. Aug 2007, 09:48
Hallo allerseits,

Bei meinem Programm kann man Daten in Excel schreiben (Zahlen, Formeln, usw).
Nun sollen auch Textbausteine in Excel eingefügt werden.
Ich habe diese Textbausteine in einem RichEdit vom Typen TJvRichEdit.
Nun möchte ich den Richtext mit Formatierungen und Grafiken in Excel einfügen.
Zugreifen tue ich mit Delphi 5 und TExcelApplication über die COM-Schnittstelle.

Ich habe den Richtext in die Zwischenablage kopiert und in die Excelzelle eingefügt, allerdings gehen dabei die Formatierung verloren und Bilder werden auch nicht angezeigt.

Delphi-Quellcode:
var
  WS : _WorkSheet;
begin
  ...

  Form_TmpRichEdit.JvRichEdit1.SelectAll;
  Form_TmpRichEdit.JvRichEdit1.CopyToClipboard;

  WS.Cells.Item[2,2].Select;
  WS.Paste(EmptyParam, EmptyParam, LCID);

  ...
end;
Hat jemand eine Idee, wie man den Richtext mit Formatierung in Excel einfügen kann und ist bereit diese mir mitzuteilen?

Danke.

MFG
Lorenz
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Richtext mit Formatierung in Excel einfügen

  Alt 15. Aug 2007, 10:42
Hallo Lorenz,

hast du schonmal versucht die Zwischenablage per Hand (Strg+V) in eine Excel-Zelle einzufügen?

Ich kann leider nicht mit Excel testen, aber WordPad zeigt mir, dass Bilder und Textformate im RTF-Format per Zwischenablage aus JvRichEdit übernommen werden können und OpenOffice übernimmt nur den Text mit Formaten, die Bilder werden ausgeklammert. Vielleicht kann auch Excel compund documents in einer Zelle nur als Objekt abbilden?

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Richtext mit Formatierung in Excel einfügen

  Alt 15. Aug 2007, 10:58
Wenn ich vom RichEdit manuell in die Zwischenablage kopiere, dann verliere ich auch die Formatierung, wenn ich es in Excel einfüge.

Wenn ich aber aus der Zwischenablage in Word einfüge, dies dann wieder in die Zwischenablage kopiere und das dann in Excel einfüge, wird die Formatierung beibehalten ... komischerweise.

Also muss ich entweder noch Word dazwischenschalten, was ich allerdings als sehr unschön empfinde oder - ich habe grade noch einen Tipp erhalten - den Zelltypen in Excel ändern. Allerdings weiß ich nicht, welchen Wert der Zelltyp für Richtext hat und auch nicht wie ich den von Delphi aus setzen kann.


MFG
Lorenz
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Richtext mit Formatierung in Excel einfügen

  Alt 15. Aug 2007, 17:30
Hallo Lorenz,

Zitat von Reinhardtinho:
Wenn ich vom RichEdit manuell in die Zwischenablage kopiere, dann verliere ich auch die Formatierung, wenn ich es in Excel einfüge.
beim Einfügen, aber nicht beim Kopieren - um genau zu sein!?

Zitat von Reinhardtinho:
Wenn ich aber aus der Zwischenablage in Word einfüge, dies dann wieder in die Zwischenablage kopiere und das dann in Excel einfüge, wird die Formatierung beibehalten ... komischerweise.
Die Formatierung, aber nicht die Bilder - oder? Excel 2003 kennt etwa 32 ClipBoard-Formate. JvRichEdit speichert die Daten höchst wahrscheinlich im Format CF_RTF. Wenn du die Daten mit Word erneut in die Zwischenablage gibst, dann kannst du über den Menübefehl Bearbeiten|Spezielles Einfügen... (PasteSpecial) feststellen, welche Formate Word bereit gestellt hat. Genauso kannst du in Excel mit dem gleichen Befehl experimentieren.

Zitat von Reinhardtinho:
Also muss ich entweder noch Word dazwischenschalten, was ich allerdings als sehr unschön empfinde oder - ich habe grade noch einen Tipp erhalten - den Zelltypen in Excel ändern. Allerdings weiß ich nicht, welchen Wert der Zelltyp für Richtext hat und auch nicht wie ich den von Delphi aus setzen kann.
Nutze die Makroaufzeichnung von Excel um Namen von Objekten, Methoden und Eigenschaften zu ermitteln.

Generell solltest du deinen Ansatz mit der Zwischenablage nochmal überdenken, da dieses Hilfsmittel eigentlich dem Benutzer vorbehalten ist. Will heißen, Lesen darf jedes Programm, aber Schreiben sollte nur auf Veranlassung des Benutzers (Menubefehl, Tastenbefehl) geschehen. Besser du legst ein privates ClipBoard an, auf das nur dein Programm Zugriff hat.

Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: Richtext mit Formatierung in Excel einfügen

  Alt 16. Aug 2007, 07:57
Guten Morgen Marabu,


Zitat von marabu:

Zitat von Reinhardtinho:
Wenn ich vom RichEdit manuell in die Zwischenablage kopiere, dann verliere ich auch die Formatierung, wenn ich es in Excel einfüge.
beim Einfügen, aber nicht beim Kopieren - um genau zu sein!?
Richtig, nach dem Kopieren sind die Formatierungen noch erhalten.

Zitat von marabu:

Zitat von Reinhardtinho:
Wenn ich aber aus der Zwischenablage in Word einfüge, dies dann wieder in die Zwischenablage kopiere und das dann in Excel einfüge, wird die Formatierung beibehalten ... komischerweise.
Die Formatierung, aber nicht die Bilder - oder? Excel 2003 kennt etwa 32 ClipBoard-Formate. JvRichEdit speichert die Daten höchst wahrscheinlich im Format CF_RTF. Wenn du die Daten mit Word erneut in die Zwischenablage gibst, dann kannst du über den Menübefehl Bearbeiten|Spezielles Einfügen... (PasteSpecial) feststellen, welche Formate Word bereit gestellt hat. Genauso kannst du in Excel mit dem gleichen Befehl experimentieren.
Hmm ... also Bilder wurden bei mir auch ganz normal in Excel eingefügt, nach dem ich es aus Word kopiert habe.
Spezielles Einfügen sehe ich bei mir nicht, habe aber auch das Office-Paket 2003 SP2. Habe die Optionenen "Einfügen" und "Inhalte einfügen".

Zitat von marabu:
Zitat von Reinhardtinho:
Also muss ich entweder noch Word dazwischenschalten, was ich allerdings als sehr unschön empfinde oder - ich habe grade noch einen Tipp erhalten - den Zelltypen in Excel ändern. Allerdings weiß ich nicht, welchen Wert der Zelltyp für Richtext hat und auch nicht wie ich den von Delphi aus setzen kann.
Nutze die Makroaufzeichnung von Excel um Namen von Objekten, Methoden und Eigenschaften zu ermitteln.

Generell solltest du deinen Ansatz mit der Zwischenablage nochmal überdenken, da dieses Hilfsmittel eigentlich dem Benutzer vorbehalten ist. Will heißen, Lesen darf jedes Programm, aber Schreiben sollte nur auf Veranlassung des Benutzers (Menubefehl, Tastenbefehl) geschehen. Besser du legst ein privates ClipBoard an, auf das nur dein Programm Zugriff hat.
Das ist richtig, schön ist das nicht. Da werde ich mir nochmals Gedanken drüber machen.

Also schon mal recht vielen Dank für deine Bemühungen.

MFG
Lorenz
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Richtext mit Formatierung in Excel einfügen

  Alt 16. Aug 2007, 08:09
Guten Morgen Lorenz,

ich habe leider keinen Zugang zu MS Office, "Inhalte einfügen" wird es wohl sein. Die VBA-Methode heißt PasteSpecial().

Freundliche Grüße
  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 23:01 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