AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Einfachere Methode für Excel Steuerung?
Thema durchsuchen
Ansicht
Themen-Optionen

Einfachere Methode für Excel Steuerung?

Ein Thema von ByTheTime · begonnen am 29. Okt 2011 · letzter Beitrag vom 29. Okt 2011
Antwort Antwort
ByTheTime

Registriert seit: 24. Sep 2011
Ort: Frankfurt
297 Beiträge
 
Delphi XE2 Architect
 
#1

Einfachere Methode für Excel Steuerung?

  Alt 29. Okt 2011, 17:23
Hallo,
ich arbeite an einem Programm, das in Excelzellen schreibt (via OLE). Allerdings bin ich der Meinung, das der Vorgang etwas zu lange dauert. Ich habe das ganze erst für die ersten 100 Zellen vorgenommen (ich brauche noch ca. 900 ):
Delphi-Quellcode:
if (Edit1.Text <> '') then
    Excel.Cells[x, x].Value := Edit1.Text;

if (Edit2.Text <> '') then
    Excel.Cells[x, x].Value := Edit2.Text;

//[...]
Da es etwas aufwendig ist, diesen Code für 1000 Excelzellen zu deklarieren, wäre es hilfreich, wenn das etwas schhneller gehen würde (gibt es kostenlose Komponenten, oder ähnliches?).

MfG

Lukas
Lukas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Einfachere Methode für Excel Steuerung?

  Alt 29. Okt 2011, 17:34
Warum bettest du nicht das Exceldokumenr direkt ein und lässt den Benutzer direkt in Excel editieren?
Markus Kinzler
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#3

AW: Einfachere Methode für Excel Steuerung?

  Alt 29. Okt 2011, 17:46
Du könntest im Tag jedes Edit die Zeile und spalte reinschreiben, in der der Text nachher stehen soll. und dann mit einer Schleife alle Komponenten eintragen.
Code:
Für Jedes TEdit Edit in Form1.GetComponents
  Trage Edit.Text in Zelle [HiWordVonTag, LoWordVonTag] ein
Das ist natürlich nur dann sinnvoll, wenn es sich um ungleichmäßige Daten handelt.
Für jewils gleich aufgebaute Datensätze gibt es ein TControlGrid oser so.
EDIT: Das Tag unterteilt man in Hi und LoWord:
Delphi-Quellcode:
procedure GetHiWordLoWord(Input:Integer; var OutputLow:Word; var OutputHi:Word)
begin
  OutputLow=Word(Input AND $0000FFFF);
  OutputHi=Word((Input AND $FFFF0000) shr 16);
end;
Ohne Gewähr
Delphi programming

Geändert von WM_CLOSE (29. Okt 2011 um 17:54 Uhr)
  Mit Zitat antworten Zitat
ByTheTime

Registriert seit: 24. Sep 2011
Ort: Frankfurt
297 Beiträge
 
Delphi XE2 Architect
 
#4

AW: Einfachere Methode für Excel Steuerung?

  Alt 29. Okt 2011, 18:14
@mkinzler: Das ist nicht Sinn und Zweck der Anwendung. Das ExcelSheet ist sozusagen etwas "dumm". Meine Anwendung hingegen ist schlau . Sie berechnet aus dem Werten von EditX1 und EditX2 einen Wert für Edit1, diese 3 Werte übernimmt es dann in die Excel Tabelle, würde ich die Exceltabelle in die Anwendung einbetten, müsste ich Wert 3 erst mit dem Taschenrechner ausrechnen. Natürlich ist das noch das einfachste Beispiel: In meinem Programm kann man noch einstellen, welche Werte es aus EditX1, EditX2, EditX3, EditX4 für Edit1 bis Edit 10 ausrechnen soll. Mit dem einbetten müsste ich dann das ExcelSheet "intelligent" machen (allerdings kann ich dann nicht mehr speziellen Einstellungen vornehmen, die meine Anwendung ermöglicht).

@WM_Close: Leider handelt es sich um ungleichmäßige Daten

An was ich noch gedacht hätte: Eine eigene Komponente entwickeln! Sozusagen eine Excelkomponente, in der ich angebe aus welchem EditFeld, in welche Zelle und bedingungen (Wenn das Feld nicht leer ist, dann). Allerdings habe ich garkeine Idee wie das funktioniert.
Lukas
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#5

AW: Einfachere Methode für Excel Steuerung?

  Alt 29. Okt 2011, 18:51
Warum kannst du nicht eine Funktion deklarieren, wo du das Editfeld und die Koordinaten mit übergibst?
Dann vielleicht noch ein Array, wo die Editfelder drinstehen, damit die mit einer Schleife darauf zugreifen kannst?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain

Geändert von zeras (29. Okt 2011 um 21:18 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: Einfachere Methode für Excel Steuerung?

  Alt 29. Okt 2011, 19:50
Hast Du wirklich 900 einzelne Editfelder? Oder von mir aus 600?
Und die sind so individuell, das man die nicht irgendwie in ein Grid o.ä. packen kann?
Keine Gemeinsamkeiten? Keine Wiederholungen?
  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 10:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz