![]() |
Delphi 7 und MS Excel
Ich habe ein problem und zwar bekomme ich einen fehler wenn ich mein excel sheet aufmachen will was ist da falsch bzw wie mach ich es richtiger ???
Delphi-Quellcode:
if OpenDialog.Execute then
begin fileName:= OpenDialog.Filename; ExcelApplication.Connect; if fileName > '' then begin ExcelApplication.Workbooks.Open(fileName,EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,0); ExcelWorkbook.ConnectTo(ExcelApplication.Workbooks.Open(fileName, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, 0)); end else ExcelApplication.Workbooks.Add(fileName,0); ExcelWorksheet.Disconnect; end; Edit*** FehlerCode: OLE-Fehler 8000A03EC ***Edit Ende mfg im voraus !ColdFire [edit=alcaeus]Kraftausdruck im Titel entfernt. Mfg, alcaeus[/edit] |
Re: Delphi 7 und MS Excel
Moin,
du must die LCID übergeben (und nicht einfach 0!) lcid:=GetUserDefaultLCID; MfG Thorsten |
Re: Delphi 7 und MS Excel
Hallo,
probiere es mal so:
Delphi-Quellcode:
FLCID ist ein privates Feld des Formulars.
procedure TForm1.CloseExcel;
begin ExcelWorksheet.Disconnect; ExcelWorkbook.Disconnect; ExcelApplication.AskToUpdateLinks[FLCID]:=True; ExcelApplication.Quit; ExcelApplication.Disconnect; end; procedure TForm1.OpenExcel; begin FLCID:=GetUserDefaultLCID; ExcelApplication.Connect; ExcelApplication.Visible[FLCID] := True; // False wenn Excel unsichtbar sein soll ExcelApplication.UserControl := True; // False wenn Excel unsichtbar sein soll ExcelApplication.DisplayAlerts[FLCID]:=False; ExcelApplication.AskToUpdateLinks[FLCID]:=False; end; if OpenDialog.Execute then begin fileName:= OpenDialog.Filename; if fileName > '' then begin ExcelApplication.Workbooks.Open(fileName,EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,FLCID); else ExcelApplication.Workbooks.Add(EmptyParam,FLCID); ExcelWorkbook.ConnectTo(ExcelApplication.ActiveWorkBook); ExcelWorksheet.ConnectTo(ExcelWorkbook.Sheets.Item['Tabelle1'] as _WorkSheet); end; Mit OpenExcel Excel starten und mit CloseExcel Excel schließen und beenden. |
Re: Delphi 7 und MS Excel
***EDIT***
DANKEEEEEEE ! ich liebe dieses FORUM !! ***EDIT ENDE*** THX 4 helping |
Re: Delphi 7 und MS Excel
Kleine Anmerkung noch von mir:
anstatt
Delphi-Quellcode:
sollte man lieber
ExcelWorksheet.ConnectTo(ExcelWorkbook.Sheets.Item['Tabelle1'] as _WorkSheet);
Delphi-Quellcode:
verwenden. Denn wenn der Anwender Office in einer anderen Sprache installiert hat, sieht es bei einem Zugriff auf das Worksheet mit der Bezeichnung "Tabelle 1" schlecht aus :-)
ExcelWorksheet.ConnectTo(ExcelApplication.ActiveWorkbook.ActiveSheet as _WorkSheet);
|
Re: Delphi 7 und MS Excel
Zitat:
1. Wie kann ich auf das Sheet zugreifen, wenn ich die Namen nicht kenne, weis aber, dass das Sheet an der dritten stelle steht? Wie greife ich auf das Sheet mit dem bestimmten Namen zu? 2. Wie greife ich auf ein Feld des ausgewählten Sheets zu? Danke in Voraus Toni |
Re: Delphi 7 und MS Excel
Hallo Turbo78,
es wird nicht gerne gesehen mehre Fragen in einem Beitrag zu stellen, weil dadurch die Suche im Forum erschwert wird. 1. Es ist möglich dem Tabellenblatt einen Index mit zu geben, dadurch braucht man keinen Namen mehr. 2. Beim Zugreifen wird dieser Index dem Tabellenblatt mitgegeben. 3. Zusätzlich ist es auch möglich den Arbeitsmappen einen Index mitzugeben, es könnten ja mehre Arbeitsmappen auf sein. Bis bald Chemiker |
Re: Delphi 7 und MS Excel
(Excel-Hilfe)
Zitat:
K-H |
Re: Delphi 7 und MS Excel
Zitat:
Also, ich habe es geschafft mit folgenden Code ein Sheet zu adressieren und den Wert einer Zelle einzulesen. Danke allen beteiligten. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 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