![]() |
Excel starten geht/geht nicht
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; |
Re: Excel starten geht/geht nicht
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 |
Re: Excel starten geht/geht nicht
|
Re: Excel starten geht/geht nicht
Zitat:
Markus |
Re: Excel starten geht/geht nicht
Zitat:
sehe ich mir heute abend mal an. Markus |
Re: Excel starten geht/geht nicht
Hallo,
ich rate einfach weiter wie siehst mit der Unit : Excel_TLB aus, auch eingebunden? Bis bald Chemiker |
Re: Excel starten geht/geht nicht
Zitat:
Zitat:
Danke Markus |
Re: Excel starten geht/geht nicht
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?
Delphi-Quellcode:
Bis bald Chemiker
function EXCELStarten (my_EXCEL : OLEVariant): boolean; // Vor my_EXCEL muss ein var stehen.
|
Re: Excel starten geht/geht nicht
Zitat:
oben in meiner Anfrage steht der Code, incl. "var" :hello: 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 |
Re: Excel starten geht/geht nicht
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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