AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi 7 und MS Excel

Ein Thema von ColdFire · begonnen am 23. Aug 2005 · letzter Beitrag vom 26. Apr 2010
Antwort Antwort
ColdFire

Registriert seit: 20. Mai 2003
63 Beiträge
 
Delphi 7 Professional
 
#1

Delphi 7 und MS Excel

  Alt 23. Aug 2005, 15:06
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]
thx
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Delphi 7 und MS Excel

  Alt 23. Aug 2005, 19:31
Moin,

du must die LCID übergeben (und nicht einfach 0!)

lcid:=GetUserDefaultLCID;

MfG
Thorsten
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Delphi 7 und MS Excel

  Alt 23. Aug 2005, 20:18
Hallo,
probiere es mal so:

Delphi-Quellcode:
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;
FLCID ist ein privates Feld des Formulars.
Mit OpenExcel Excel starten und mit CloseExcel Excel schließen und beenden.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
ColdFire

Registriert seit: 20. Mai 2003
63 Beiträge
 
Delphi 7 Professional
 
#4

Re: Delphi 7 und MS Excel

  Alt 24. Aug 2005, 08:34
***EDIT***

DANKEEEEEEE ! ich liebe dieses FORUM !!

***EDIT ENDE***


THX 4 helping
thx
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Delphi 7 und MS Excel

  Alt 14. Apr 2010, 07:24
Kleine Anmerkung noch von mir:
anstatt
ExcelWorksheet.ConnectTo(ExcelWorkbook.Sheets.Item['Tabelle1'] as _WorkSheet); sollte man lieber
ExcelWorksheet.ConnectTo(ExcelApplication.ActiveWorkbook.ActiveSheet as _WorkSheet); 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
  Mit Zitat antworten Zitat
Turbo78

Registriert seit: 19. Apr 2010
Ort: Neuried
32 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Delphi 7 und MS Excel

  Alt 25. Apr 2010, 23:28
Zitat von semo:
Kleine Anmerkung noch von mir:
anstatt
ExcelWorksheet.ConnectTo(ExcelWorkbook.Sheets.Item['Tabelle1'] as _WorkSheet); sollte man lieber
ExcelWorksheet.ConnectTo(ExcelApplication.ActiveWorkbook.ActiveSheet as _WorkSheet); 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 :-)
Zwe Fragen eines Excel Anfängers:
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
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Delphi 7 und MS Excel

  Alt 26. Apr 2010, 07:05
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
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Delphi 7 und MS Excel

  Alt 26. Apr 2010, 13:07
(Excel-Hilfe)
Zitat:
Sheets
Mehrere Objekte


Eine Auflistung aller Blätter in der angegebenen oder aktiven Arbeitsmappe. Die Sheets-Auflistung kann Chart-oder Worksheet-Objekte enthalten.

Über die Sheets-Auflistung können Blätter eines beliebigen Typs zurückgegeben werden. Sollten Sie nur mit Blättern eines bestimmten Typs arbeiten, lesen Sie unter dem betreffenden Blattyp nach.
.....
Verwenden Sie Sheets(index), wobei index der Name oder die Indexnummer des Blattes ist, um ein einzelnes Chart- oder Worksheet-Objekt zurückzugeben. Im folgenden Beispiel wird das Blatt "Sheet1" aktiviert
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Turbo78

Registriert seit: 19. Apr 2010
Ort: Neuried
32 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Delphi 7 und MS Excel

  Alt 26. Apr 2010, 16:49
Zitat von Chemiker:
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
Es tut mir Leid - es liegt an meiner Unerfahrenheit.

Also, ich habe es geschafft mit folgenden Code ein Sheet zu adressieren und den Wert einer Zelle einzulesen. Danke allen beteiligten.

Zitat:
try
ExcelWorksheet.ConnectTo(ExcelApplication.ActiveWo rkbook.Worksheets[3] as _WorkSheet);
ShowMessage(IntToStr(ExcelWorksheet.Cells.Range['A9', EmptyParam].Value2));
except
Close;
end;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:06 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