Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Excel in einem Panel aufrufen (https://www.delphipraxis.net/122163-excel-einem-panel-aufrufen.html)

BAMatze 10. Okt 2008 13:43


Excel in einem Panel aufrufen
 
welche HWND muss ich aufrufen, damit Excel sich in meiner Form in einem Panel aufruft?

toms 10. Okt 2008 14:01

Re: Excel in einem Panel aufrufen
 
Hallo

Du könntest Excel via OLE Container oder TWebBrowser in deine Anwendung einbetten.

BAMatze 10. Okt 2008 14:07

Re: Excel in einem Panel aufrufen
 
kannst du mir mal ein kurzes Beispielprogramm zeigen? nur mit den Befehlen?

bigben37 10. Okt 2008 14:11

Re: Excel in einem Panel aufrufen
 
Dieser Thread hat sehr mir geholfen, als ich was mit Excel machen wollte.
Besondres die Lösung von Toms(#6)

BAMatze 10. Okt 2008 14:23

Re: Excel in einem Panel aufrufen
 
welche Uses müssen eingebunden werden, damit die TExcelApplication aktiviert wird?

bigben37 10. Okt 2008 14:33

Re: Excel in einem Panel aufrufen
 
Zieh doch einfach mal eine TExcelApplication auf eine leere Form, dann siehst du, dass du

Delphi-Quellcode:
uses
  OleServer, ExcelXP;
brauchst (Die werden dann hinzugefügt(sollten sie jeden falls)). :wink:

DeddyH 10. Okt 2008 14:34

Re: Excel in einem Panel aufrufen
 
Damit bist aber an eine bestimmte Office-Version gebunden.

jaenicke 10. Okt 2008 14:35

Re: Excel in einem Panel aufrufen
 
Wobei es je nach Delphi-Version auch Excel97 o.ä. sein kann, aber das siehst du ja, wenn du das machst was bigben37 geschrieben hat ;-).

// EDIT:
Zitat:

Zitat von DeddyH
Damit bist aber an eine bestimmte Office-Version gebunden.

Bei mir funktioniert auch ExcelXP.TExcelApplication mit Office 2007, ältere Versionen habe ich gerade nicht mehr zum Testen da.

BAMatze 10. Okt 2008 14:42

Re: Excel in einem Panel aufrufen
 
Also hab hier ne Vollversion von Delphi 2007 aber finde die TExcelApplication nicht, die man auf die Form ziehen kann. Muss dafür ein extra Packet geladen werden?

DeddyH 10. Okt 2008 14:44

Re: Excel in einem Panel aufrufen
 
Binde einfach mal die Units ComObj und ActiveX ein und versuch den Code von toms damit.

jaenicke 10. Okt 2008 14:59

Re: Excel in einem Panel aufrufen
 
Zitat:

Zitat von DeddyH
Binde einfach mal die Units ComObj und ActiveX ein und versuch den Code von toms damit.

Also bei mir funktioniert es damit nicht, die benutzten Variablentypen werden in diesen Units nicht gefunden.

// EDIT:
Zitat:

Zitat von BAMatze
Also hab hier ne Vollversion von Delphi 2007 aber finde die TExcelApplication nicht, die man auf die Form ziehen kann. Muss dafür ein extra Packet geladen werden?

Bei mir ist es dabei. (unter Server)

DeddyH 10. Okt 2008 15:06

Re: Excel in einem Panel aufrufen
 
Dann halt mit
Delphi-Quellcode:
var aExcel : OLEVariant;
...
aExcel := CreateOleObject('Excel.Application');
Sollte eigentlich klappen.

toms 10. Okt 2008 15:58

Re: Excel in einem Panel aufrufen
 
Zitat:

Zitat von BAMatze
kannst du mir mal ein kurzes Beispielprogramm zeigen? nur mit den Befehlen?

TWebbrowser auf das Formular setzen und dann
Delphi-Quellcode:
Webbrowser1.Navigate('x:\ExcelDatei.xls')
aufrufen.

Bernhard Geyer 10. Okt 2008 16:02

Re: Excel in einem Panel aufrufen
 
Zitat:

Zitat von toms
TWebbrowser auf das Formular setzen und dann
Delphi-Quellcode:
Webbrowser1.Navigate('x:\ExcelDatei.xls')
aufrufen.

Wird oft nicht funktionieren da Excel aus dem WebBrowser "rausspringt".
Siehe auch http://support.microsoft.com/kb/927009/en

Chemiker 10. Okt 2008 16:34

Re: Excel in einem Panel aufrufen
 
Hallo jaenike,

Zitat:

Zitat von jaenike
// EDIT:
Zitat:

Zitat von DeddyH
Damit bist aber an eine bestimmte Office-Version gebunden.

Bei mir funktioniert auch ExcelXP.TExcelApplication mit Office 2007, ältere Versionen habe ich gerade nicht mehr zum Testen da.

bei frühe Bindung muss die Excel-Version auf dem Rechner sein, für die das Programm geschrieben worden ist. Wenn das bei dir funktioniert ist das pures Glück. Weil sich bei manschen Excel-Versionen teilweise die Parameter-Anzahl der Befehle geändert haben.
Also hat DeddyH mit seiner Aussage Recht.

Bis bald Chemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 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