![]() |
Prüfen ob Excel Worksheet vorhanden ist
Hallo,
ich habe folgendes Problem: Ich will eine Exceldatei in Delphi öffnen um mir bestimmte Werte aus den Zellen eines Worksheets zu holen. Leider weiß ich nicht, wie ich am besten Prüfen kann, ob ich die richtige Exceldatei geöffnet habe. D.h. ich würde gerne prüfen, ob das Worksheet 'Übergabedaten' vorhanden ist. Und dann die Werte aus den Zellen lesen. Wisst ihr wie ich das am Besten machen kann. Danke euch!! |
Re: Prüfen ob Excel Worksheet vorhanden ist
Versuch doch einfach ein Excel.Application Object zu erzeugen, wenn es klappt hast du Exel instaliert, sonst bekommst du einen Fehler.
Delphi-Quellcode:
:gruebel:
try
Excel := CreateOleObject('Excel.Application'); except ShowMessage('Excel konnte nicht gestartet werden !'); Exit; end; |
Re: Prüfen ob Excel Worksheet vorhanden ist
Hier, ein
![]() |
Re: Prüfen ob Excel Worksheet vorhanden ist
Hi, ja
so mache ich das ja schon, aber ich suche die Möglichkeit herauszufinden, ob es ein Sheet in einem Excelfile gibt..
Delphi-Quellcode:
Gruß
begin
try // Ole Objekt erstellen und öffnen Excel:=CreateOleObject('Excel.Application'); // Excel Fenster unsichtbar machen Excel.Visible:=false; // Excel.SaveData := False; Excel.Workbooks.Open(ExcelName); Excel.activesheet.name := 'Übergabedaten'; // wie kann ich hier testen, ob es das Sheet wirklich gibt in der Exceldatei??? Excel.DisplayAlerts:=false; // ShowMessage(Excel.Cells[2,2].Value); except Exception.Create('Falsche oder fehlerhafte Datei ausgewählt'); end; DelphiManiac |
Re: Prüfen ob Excel Worksheet vorhanden ist
Hallo DelphiManiac,
es ist möglich die Tabellenblätter zu zählen und anschliessend mit den Tabellen-Namen zu vergleichen.
Delphi-Quellcode:
var AnzahlBlaetter: integer;
BlattName: string; z: integer; begin try // Ole Objekt erstellen und öffnen Excel:=CreateOleObject('Excel.Application'); // Excel Fenster unsichtbar machen Excel.Visible:=false; // Excel.SaveData := False; Excel.Workbooks.Open(ExcelName); AnzahlBlaetter:= Excel.Worksheets.Count; // Anzahl Blätter for z:= 1 to AnzahlBlaetter do begin BlattName:= Excel.Worksheets[z].Name; // Alle Tablellenblätter durchlaufen if BlattName = 'ÜbergabeDaten' then // alles ok end; Excel.activesheet.name := 'Übergabedaten'; // wie kann ich hier testen, ob es das Sheet wirklich gibt in der Exceldatei??? Excel.DisplayAlerts:=false; // ShowMessage(Excel.Cells[2,2].Value); except Exception.Create('Falsche oder fehlerhafte Datei ausgewählt'); end; So müsste es gehen. Bis bald Chemiker |
Re: Prüfen ob Excel Worksheet vorhanden ist
Danke Chemiker,
denke so könnte ich es machen, habe bis jetzt einfach geprüft ob in der Zelle des ausgewählten Blattes ein bestimmtes Wort steht. Aber deine Methode ist glaube ich eleganter und trifft genau auf meine Problematik zu. Danke dir nochmal, werde die Sheets so durchlaufen, wie du es vorgeschlagen hast! Gruß DelphiManiac |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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