AGB  ·  Datenschutz  ·  Impressum  







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

Excel OLE Steuerung und Formeln

Ein Thema von Rainer78 · begonnen am 15. Feb 2013 · letzter Beitrag vom 15. Feb 2013
Antwort Antwort
Rainer78

Registriert seit: 3. Sep 2008
20 Beiträge
 
Delphi 2005 Professional
 
#1

Excel OLE Steuerung und Formeln

  Alt 15. Feb 2013, 14:55
Hallo zusammen,

ich bin gerade dabei Daten aus meiner Anwendung nach Excel zu schreiben. Das funktioniert soweit auch ganz gut.

Code:
ExcelApp := GetActiveOleObject;
for i := 1 to Datensatzanzahl do
  begin
// ....
// LTitle und LNummer mit Daten füllen
// ...

   ExcelApp.Sheets[1].Cells[LZeile,1].Value := LTitle;
   ExcelApp.Sheets[1].Cells[LZeile,2].Value := LNummer;
   ExcelApp.Sheets[1].Cells[LZeile,3].Formula := '=VERKETTEN("*",$B$'+IntToStr(LZeile)+',"*")';
   ExcelApp.Range['D'+IntToStr(LZeile)+':D'+inttoStr(LZeile)].Select;
   ExcelApp.Selection.Font.Size := 22;
   ExcelApp.Selection.Font.Name := 'Ccode39';
  end;

ExcelApp.ActoveWorkBook.SaveAs(LDateiname);
ExcelApp.DisplayAlerts := False;
ExcelApp.Quit;
ExcelApp := Unassigned;
Es soll in der ersten Spalte ein Titel eingetragen werden, in der zweiten Spalte eine Nummer und in der dritten Spalte soll die Verknüpfung von *Nummer* erfolgen (also der Wert aus der zweiten Spalte mit * davor und dahinter).

Wenn ich das ausführe erhalte ich in der Zelle mit der Verkettung "#NAME?"

Ich muss in den Zellen mit der Formeln einmal mit "F2" den Editiermodus starten und diesen mit ENTER beenden. Dann wird die Formel richtig interpretiert und ich bekomme die Verkettung angezeigt die ich will.

Hat jemand eine Idee, woran das liegen könnte? Es sollte doch möglich sein, dass die Formel auch direkt richtig ausgewertet wird.

Gruß,

Rainer

Geändert von Rainer78 (15. Feb 2013 um 15:31 Uhr)
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: Excel OLE Steuerung und Formeln

  Alt 15. Feb 2013, 15:16
Hallo,

das ging so nicht, du kannst nicht Cell.Value, sondern mußt z.B. Cell.FormulaR1C1 verwenden. Da gabs glaube auch noch andere FormulaXyZ, mußt du mal schauen

gruß Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Rainer78

Registriert seit: 3. Sep 2008
20 Beiträge
 
Delphi 2005 Professional
 
#3

AW: Excel OLE Steuerung und Formeln

  Alt 15. Feb 2013, 15:32
das ging so nicht, du kannst nicht Cell.Value, sondern mußt z.B. Cell.FormulaR1C1 verwenden. Da gabs glaube auch noch andere FormulaXyZ, mußt du mal schauen
Sorry hatte mich verschrieben gehabt. Ich habe es oben korrigiert. Habe .Formula anstatt .Value bei der Formel verwendet.
  Mit Zitat antworten Zitat
Jumpy

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

AW: Excel OLE Steuerung und Formeln

  Alt 15. Feb 2013, 15:32
.FormulaLocal
gibts da afaik noch. Und wenn du mit Verketten schon die dt. Version des Befehls nimmst...

und ansonsten immer direkt in Excel selbst per VBA mit Hilfe rumprobieren, da findet sich die Lösung leichter und man muss das dann nur noch nach Delphi übertragen.
Ralph
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: Excel OLE Steuerung und Formeln

  Alt 15. Feb 2013, 16:02
Langsam kommt das Gedächtnis auch wieder. Ich glaube, da war noch ein Haken, mußte man die Formeln nicht auch englisch übergeben?
Evtl probier erstmal eine andere einfachere Formel wie "wenn/If". Weiß jetzt grade nicht, was verketten im Excel auf englisch heißt. Aber es gab glaube regelrechte Tabellen mit den Übersetzungen im Inet.

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Rainer78

Registriert seit: 3. Sep 2008
20 Beiträge
 
Delphi 2005 Professional
 
#6

AW: Excel OLE Steuerung und Formeln

  Alt 15. Feb 2013, 16:11
@Keldorn: Danke, der Hinweis mit dem englischen Befehl war Gold wert. Die Formel von =Verketten umgewandelt in =CONCATENATE und schon funktioniert es.
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

AW: Excel OLE Steuerung und Formeln

  Alt 15. Feb 2013, 16:24
aber gugg wirklich nochmal, was die einzelnen .FormulaXYZ bedeuten . Gibts ja zu Hauf Office-Foren, die sich damit beschäftigen.
Bei mir ist das zu lange her und ich weiß nicht mehr, wann es welche Version gab oder auch nicht gab

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  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 01:44 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