AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi [OLE-Fernsteue]Formeln in Exceltabellen eintragen - Problem
Thema durchsuchen
Ansicht
Themen-Optionen

[OLE-Fernsteue]Formeln in Exceltabellen eintragen - Problem

Ein Thema von BingoBongo · begonnen am 27. Nov 2008 · letzter Beitrag vom 30. Nov 2008
 
BingoBongo

Registriert seit: 30. Sep 2005
19 Beiträge
 
#1

[OLE-Fernsteue]Formeln in Exceltabellen eintragen - Problem

  Alt 27. Nov 2008, 23:29
Hallo allerseits,
ich habe ein Problem, bei dem ich mir Hilfe erhoffe.
Ich habe ein kleines Tool geschrieben, welches mir sehr lästige Routineaufgaben beim Arbeiten mit bestimmten Excel-Tabellen abnimmt. Unter anderem sollen Formeln innerhalb einer solchen Exceltabelle verändert oder überschrieben werden.
Leider klappt genau das nicht so wie es soll.
Hier mal der Code, den ich verwende, damit man sich ein Bild davon machen kann, wie ich die OLE Steuerung verwende.
Delphi-Quellcode:
procedure gesamtmiete;
//paßt die Formel für die Gesamtmiete so an, dass alle 8 Zellen addiert werden
var
  Excel: Variant;
  kopie, kopie2: string;
  pfad: string;
  i: integer;
begin
  Excel := CreateOleObject('Excel.Application');
  pfad:= form1.Edit2.Text;
  Excel.Workbooks.Open (pfad);
  Excel.Visible := true;

  application.ProcessMessages;
  Excel.Sheets[2].select;
  Excel.Sheets[2].Range['e5'].select;
  Excel.ActiveCell.formula:= '=sum(c5:d8)';
  Excel.ActiveCell.NumberFormat:='0,00';

  Excel.ActiveWorkbook.Save; //(pfad);
  Excel.Quit;
  Excel := unassigned;
end;
Mein Problem ist nun, wie schreibe ich eine sogenannte Array-Formel in eine Excel-Zelle. Das sind diese Formeltypen, die durch Ctrl-Shift-Enter abgeschlossen werden müssen und dann durch geschweifte Klammern dargestellt werden.
Ich habe eine solche Formel mal aus einer meiner Tabellen in eine Variable rauskopiert und in einem Edit-Feld anzeigen lassen, aber da fehlen die geschweiften Klammern. Ich habe es sogar schon versucht, diese geschweiften Klammern einfach mit in die Zielzelle reinzukopieren, aber das funktioniert genausowenig.
Hat da jemand eine Idee dazu?

Mein zweites Problem sind Tabellenverknüpfungen, also Zellbezüge, welche auf eine andere Tabelle zeigen, die zum Zeitpunkt der Tabellenbearbeitung nicht existieren. Beim Ausführen des Programmes kommt die Abfrage von Excel nach dem Verzeichnis, in dem sich die Tabelle befindet, die in der Verknüpfung benannt wurde.
Gibt es eine Möglichkeit, diese Art der Abfrage zu deaktivieren und wenn ja, wie?

Für Hilfe wäre ich wirklich sehr dankbar.

Bingo
  Mit Zitat antworten Zitat
 


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 12:22 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