Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Excel Worksheet wechseln geht nicht (https://www.delphipraxis.net/108793-excel-worksheet-wechseln-geht-nicht.html)

FLINKER_FINGER 19. Feb 2008 17:33


Excel Worksheet wechseln geht nicht
 
Hi,

möchte gerne ein StringGrid mit Daten aus einer Excel Tabelle füllen und habe hierfür das Beispiel von dieser Seite Benutzt:
http://www.swissdelphicenter.ch/de/showcode.php?id=1728
klappt auch super, aber:

Wenn ich nun ein anderes Sheet angezeigt haben möchte gibts es Probleme. Dachte diese beiden Zeilen wären dafür zuständig:
Delphi-Quellcode:
   // Sheet := XLApp.Workbooks[1].WorkSheets[1];
    Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[1];
einfach hinten die eine 2 statt einer 1 und das 2. Sheet würde angezeigt werden. Aber es kommt eine Fehlermeldung, die wie folgt lautet: " Die Active-Methode des Range-Objekts konnte nicht ausgeführt werden" :gruebel:

Genug sheets sind enthalten also daran kann es nicht liegen. Hat jemand eine Idee ?

Chemiker 19. Feb 2008 17:47

Re: Excel Worksheet wechseln geht nicht
 
Hallo FINKER_FINGER;

Normal kann man mit


Delphi-Quellcode:
XLApp.Worksheets ['Tabelle1'].Activate;
ein anderes Sheets ansprechen oder mit einem Index

Delphi-Quellcode:
XLApp.Worksheets [2].Activate;
Bis bald Chemiker

FLINKER_FINGER 19. Feb 2008 18:00

Re: Excel Worksheet wechseln geht nicht
 
Ja das habe ich auch gefunden, geht aber nicht.
Im beispiel wird halt mit einer Variablen "Sheet: OLEVariant;" gearbeitet. Dieser Wird dann wie folgt declariert:
Delphi-Quellcode:
Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[1];
Das klappt auch, aber wie gesagt nur mit dem ersten. Sobald ich aus der "1" eine "2" mache ist vorei und die Fehlermeldung kommt.

Delphi-Quellcode:
Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[2];
kann man die Zeile irgendwie umschreiben das es geht... verstehe auch nicht warum es überhaupt zur Fehlermeldung kommt...
Vielleicht irgendwie :
Delphi-Quellcode:
        XLApp.Worksheets[2].Activate;
sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets.activated;

FLINKER_FINGER 19. Feb 2008 18:03

Re: Excel Worksheet wechseln geht nicht
 
so habs :
Delphi-Quellcode:
    XLApp.Worksheets[2].Activate;
sheet := XLApp.ActiveSheet;

Chemiker 19. Feb 2008 18:11

Re: Excel Worksheet wechseln geht nicht
 
Hallo,

bevor Du was ein Sheet schreiben kannst, muss es zuvor Aktiviert werden, das gleich gilt natürlich auch für ein Workbook.

Bis bald Chemiker


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