AGB  ·  Datenschutz  ·  Impressum  







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

Excel starten geht/geht nicht

Ein Thema von ml2 · begonnen am 22. Jul 2007 · letzter Beitrag vom 13. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
ml2

Registriert seit: 22. Jul 2007
7 Beiträge
 
#1

Excel starten geht/geht nicht

  Alt 22. Jul 2007, 09:56
Hallo,

ich hänge fest. Habe Delph5 Professional und Excel starten funktioniert eigentlich mit folgendem Code über ein Form mit Button problemlos.

In dem Programm, wo ich es nutzen will, gibt es allerdings die Fehlermeldung "Variante referenziert kein Automatisierungsobjekt" bei CreateOLEObject.

Hat jemand einen Tip woran geht/geht nicht liegen könnte? Projekt-/compiler- und Linkereinstellungen scheinen identisch zu sein.

Markus


Code:
function EXCELStarten (var my_EXCEL : OLEVariant): boolean;
{erfordert in uses: comobj}
begin
   try
    my_EXCEL := CreateOLEObject('Excel.Application');
    Result := TRUE;
  except
    ShowMessage('Excel konnte nicht gestartet werden!');
    Result := FALSE;
    Exit
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var Excel : OLEVariant;
begin
  EXCELStarten(Excel);  // muß wg OLE-Object auf jeden Fall (evtl. zusätzlich) gestartet werdem
  Excel.Visible := TRUE;          
end;
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Excel starten geht/geht nicht

  Alt 22. Jul 2007, 12:03
Hallo ml2,

herzlich willkommen in der DP.

Ich kann anhand Deiner Angaben nur raten. Besser währe den Code zu zeigen der nicht funktioniert.

Ich vermute einfach das Du die UNIT: comobj nicht eingebunden hast.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von jmit
jmit

Registriert seit: 24. Feb 2005
Ort: Langelsheim
383 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Excel starten geht/geht nicht

  Alt 22. Jul 2007, 13:42
Hallo,

hast Du schon einmal bei dsdt.info geschaut.

Dort habe ich folgendes gefunden, welches mir auch schon weitergeholfen hat: Excel

Gruß Jörg
Windows 7, Firefox Version 3.6, Turbo Delphi für Win32
  Mit Zitat antworten Zitat
ml2

Registriert seit: 22. Jul 2007
7 Beiträge
 
#4

Re: Excel starten geht/geht nicht

  Alt 23. Jul 2007, 06:30
Zitat von Chemiker:
Ich vermute einfach das Du die UNIT: comobj nicht eingebunden hast.
Ne, ist eingebunden, sonst würde Delphi ja schon in der Codeprüfung/Compilierung meckern und nicht erst bei der Ausführung.

Markus
  Mit Zitat antworten Zitat
ml2

Registriert seit: 22. Jul 2007
7 Beiträge
 
#5

Re: Excel starten geht/geht nicht

  Alt 23. Jul 2007, 06:33
Zitat von jmit:
Dort habe ich folgendes gefunden, welches mir auch schon weitergeholfen hat: Excel
Danke,
sehe ich mir heute abend mal an.

Markus
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Excel starten geht/geht nicht

  Alt 23. Jul 2007, 06:43
Hallo,

ich rate einfach weiter wie siehst mit der Unit : Excel_TLB aus, auch eingebunden?

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
ml2

Registriert seit: 22. Jul 2007
7 Beiträge
 
#7

Re: Excel starten geht/geht nicht

  Alt 23. Jul 2007, 06:52
Zitat von Chemiker:
ich rate einfach weiter
viel mehr als Raten bleibt bei dem Problem ja leider nicht.

Zitat von Chemiker:
unit : Excel_TLB ... eingebunden?
Die kennt mein Delphi nicht.

Danke
Markus
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Excel starten geht/geht nicht

  Alt 23. Jul 2007, 19:23
Hallo ml2,

vielleicht ist es ja doch möglich den Code zu zeigen der nicht funktioniert, dann müsste man nicht raten und Du könntest sofort an Deinem Programm weiter arbeiten.

Mein letzter Versuch:

Kann es sein das Du Excel in eine Procedure oder Function aufrufst und dabei das var vergessen hast?

function EXCELStarten (my_EXCEL : OLEVariant): boolean; // Vor my_EXCEL muss ein var stehen. Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
ml2

Registriert seit: 22. Jul 2007
7 Beiträge
 
#9

Re: Excel starten geht/geht nicht

  Alt 23. Jul 2007, 19:40
Zitat von Chemiker:
Kann es sein das Du Excel in eine Procedure oder Function aufrufst und dabei das var vergessen hast?

function EXCELStarten (my_EXCEL : OLEVariant): boolean; // Vor my_EXCEL muss ein var stehen.
Ei Chemiker,

oben in meiner Anfrage steht der Code, incl. "var" Den habe ich genau so vom Ein-Button-Formular in meine Anwendung übernommen und es geht nicht. In der Anwendung gibt es keine Geheimnisse, aber in der betreffenden Extra-Unit eben nicht viel mehr als obigen Code, der über einen Button aufgerufen wird und dann nichts anderes machen soll, als die Inhalte der Edit-Felder nach Excel zu schieben, nachdem Excel und die entsprechende Datei geöffnet wurden. Nur brauch ich nicht weiter zu machen, wenn Excel gar nicht zu starten ist.

Aber trotzdem Danke
Gruß Markus
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Excel starten geht/geht nicht

  Alt 23. Jul 2007, 20:27
Hallo ml2,

natürlich kann man Edit – Felder nach Excel schieben, aber Du hast irgendwo in Deinem Code ein Fehler. Ohne nähere Informationen kann man Dir nur schwer weiter helfen.

Hier noch einmal ein Beispiel:

Delphi-Quellcode:
unit ExcelMitEditFelderFuellenUnit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,comobj, OleServer, ExcelXP;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function EXCELStarten (var my_EXCEL : Variant): boolean;
{erfordert in uses: comobj}
begin
   try
    my_EXCEL := CreateOLEObject('Excel.Application');
    Result := TRUE;
  except
    ShowMessage('Excel konnte nicht gestartet werden!');
    Result := FALSE;
    Exit
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var Excel : Variant;
begin
  EXCELStarten(Excel); // muß wg OLE-Object auf jeden Fall (evtl. zusätzlich) gestartet werdem
  Excel.Visible := TRUE;
  Excel.Application.Workbooks.Add; // Neue Arbeitsmappe öffnen in EXECL
  Excel.Worksheets ['Tabelle1'].Activate;
  Excel.cells[1,1]:= Edit1.Text; // <------ Text
  Excel.cells[1,2]:= strtofloat(Edit2.Text); // <------- Zahl
  Excel.Quit;
end;

end.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 03:30 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