AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Excel Arbeiten in verschiedenen Proceduren
Thema durchsuchen
Ansicht
Themen-Optionen

Excel Arbeiten in verschiedenen Proceduren

Ein Thema von RoMe87 · begonnen am 11. Okt 2009 · letzter Beitrag vom 11. Okt 2009
Antwort Antwort
RoMe87

Registriert seit: 11. Okt 2009
Ort: Mannheim
8 Beiträge
 
Delphi 7 Personal
 
#1

Excel Arbeiten in verschiedenen Proceduren

  Alt 11. Okt 2009, 14:01
Hallo!
Ich bin seit gut einer Woche ein angehender Delphi-Programmierer und versuche mich an einem eispielprogramm, mit dem ich versuchen will, Excel durch ein Delphi-Programm fernzusteuern.
Folgendes Problem:
Ich will über mehrere Prozeduren hinweg auf das selbe sheet zuzugreifen, was mir nicht gelingt. In diesem eispiel will ich bei Start des Programms eine neues Workbook mit einem Sheet namens 'DP Sheet' erstellen, wenn ich auf dem Button klicke sollen Werte eingetragen werden und bei Schließung des Programms soll die Datei in eine vordefinierte Datei gespeichert werden. Das ist alles ein wenig sinnlos, ich weiß, aber es ist ja auch nur ein Test, um mein Wissen zu erweitern und mich auf die ultimative Aufgabe vorzuereiten . Wenn ich alle Anweisungen in einer Prozedur schreien würde, klappt es. So, wie das Programm unten ausgeführt ist, klappt es nicht. Bitte um Hilfe!

Delphi-Quellcode:
unit Test1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComObj, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure ExcelFuellen(Sender: TObject);
    procedure Start_Prog(Sender: TObject);
    procedure Exit_Prog(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
  procedure TForm1.Start_Prog(Sender: TObject);
  var
    Excel : Variant;
  begin
    Excel:= CreateOleObject('Excel.Application');
    excel.Application.SheetsInNewWorkBook := 1;
    Excel.Workbooks.Add;
    Excel.Sheets[1].Name := 'DP Sheet';
    excel.visible := true;
  end;


  Procedure TForm1.ExcelFuellen(Sender: TObject);
  var
    Excel : Variant;
    row, column: Integer;
  begin
    Excel:= CreateOleObject('Excel.Application');
    row := 1;
    column := 2;
    Excel.Sheets['DP Sheet'].Cells[row,column].Value := 'Hallo';
    Excel.Sheets['DP Sheet'].Cells[1,3].value := 5.23;
  end;


procedure TForm1.Exit_Prog(Sender: TObject; var Action: TCloseAction);
  var
    Excel : Variant;
  begin
    Excel:= CreateOleObject('Excel.Application');
    Excel.ActiveWorkbook.SaveAs('D:\Excel_Ablage\Test1.xls');
    Excel.Quit;
    Excel := Unassigned;
  end;
   {$R *.dfm}
end.
  Mit Zitat antworten Zitat
hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Excel Arbeiten in verschiedenen Proceduren

  Alt 11. Okt 2009, 14:50
Deklarier Excel als globale Variable, dann brauchst du auch nur in der Start_Prog das OleObject zu initalisieren und dann sollte dein Vorhaben auch funktionieren.
  Mit Zitat antworten Zitat
RoMe87

Registriert seit: 11. Okt 2009
Ort: Mannheim
8 Beiträge
 
Delphi 7 Personal
 
#3

Re: Excel Arbeiten in verschiedenen Proceduren

  Alt 11. Okt 2009, 18:34
Danke, das wars! Jetzt läufts.
  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 06:49 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