Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ListBox items in Excel tabelle speichern?? (https://www.delphipraxis.net/135520-listbox-items-excel-tabelle-speichern.html)

nimmersattXD 12. Jun 2009 11:38


ListBox items in Excel tabelle speichern??
 
hallo!

Mein derzeitiges programm kann schon mit savetofile speichern, aber das fuehrt leider nicht zu meinem gewollten ergebnis. ich habe auch schon mit der suchefunktion nach einem passenden thema gesucht, jedoch nichts gefunden.

ich moechte gern den inhalt zweier listboxes in einer excel-tabelle gegenueberstellend speichern! aber wie mache ich das? kann mir jemand dabei helfen?

mkinzler 12. Jun 2009 12:03

Re: ListBox items in Excel tabelle speichern??
 
Was meinst du mit gegenueberstellend?
Such mal nach Automation

nimmersattXD 12. Jun 2009 13:24

Re: ListBox items in Excel tabelle speichern??
 
ok hab was dazu gefunden, hab auch alles bei uses drin was ich brauch, aber trotzdem fehlen mit fnktionen wie zb. sheets und so! woran kann das liegen.

ps: gespeichert hab ich alles auch schon ;)

nimmersattXD 15. Jun 2009 09:56

Re: ListBox items in Excel tabelle speichern??
 
so ich hab jetzt erstmal ohne strg+space arbeiten muessen und das programm startet zumindest, aber wenn ich den button klicke (siehe quelltext) kommt die fehler meldung: Method 'excel' not supported by automation objekt.

Delphi-Quellcode:

procedure TForm1.BtnSaveResClick(Sender: TObject);
var excel:Variant;
    path:string;
    i,row,column:integer ;
begin

   excel:=CreateOleObject('Excel.Application');
   excel.Application.SheetsInNewWorkbook:=1;
   excel.Workbooks.add;
   excel.Sheets[1].Name:='Results';

   row:=1;
   column:=1;
   excel.Sheets['Results'].Cells[row,column].value:='Unused pictures:';
   excel.Sheets['Results'].Cells[row,3].value:='Used pictures:';
   excel.Range['A1:C1'].Select;
   excel.Selection.Font.Bold:=true;

   for i:=0 to LiBoUnused.Count do
    begin
     excel.excel.Sheets['Results'].Cells[i+3,1].value:=LiBoUnused.Items[i];
    end;

    for i:=0 to LiBoUsed.Count do
    begin
     excel.excel.Sheets['Results'].Cells[i+3,3].value:=LiBoUsed.Items[i];
    end;

    excel.ActiveWorkbook.SaveAs('C:\Users\Keks\Desktop\');
    excel.Quit;
    excel:=Unassigned;


end;
was hab ich falsch gemacht oder fehlt noch etwas??

hoika 15. Jun 2009 10:05

Re: ListBox items in Excel tabelle speichern??
 
Hallo,

Zitat:

was hab ich falsch gemacht oder fehlt noch etwas??
In welcher Zeile kommt der Fehler?
Ist Excel auf dem Rechner drauf ? (es wird ja per OLE-Automation "ferngesteuert")


Heiko

nimmersattXD 15. Jun 2009 10:09

Re: ListBox items in Excel tabelle speichern??
 
ahh ok kanns sein das es nicht funktioniert weil ich ms office 7 habe?

den roten punkt hatte ich auf die folgende zeile gemacht:

procedure TForm1.BtnSaveResClick(Sender: TObject);

und die fehlermeldung kam trotzdem gleich

hoika 15. Jun 2009 10:32

Re: ListBox items in Excel tabelle speichern??
 
Hallo,

der "rote Punkt" ist der Breakpoint.

Der kommt auf excel:=CreateOleObject('Excel.Application');

Excel 7 kennt vielleicht wirklich eine der Methoden noch nicht.
Welche? bekommst du mit F8 dann raus.

Du kannst ja mal die Typ-Bibliotehk importieren (auch hier Suche).
Da stehen dann alle Methoden, die das aktuell installierte Excel hat, drin.


Heiko

nimmersattXD 15. Jun 2009 11:14

Re: ListBox items in Excel tabelle speichern??
 
ok hab meinen fehler gefunden :wall: tja guck einfach mal in die zaehlschleifen ;) excel.excel. ... is ein excel zu fiel

so nun geht er schonmal durch die zaehlschleifen, aber dann kommt leider beim speichern:

Auf die Datei konnte nichts zugegriffen werden. versuchen sie die folgenden Loesungsvroschlaege:

...


frage: muss schon eine solche excel datei vorliegen, ich wollte eigentlich das mit dem button eine neue erstellt werden kann!?

hoika 15. Jun 2009 11:25

Re: ListBox items in Excel tabelle speichern??
 
Hallo,

Delphi-Quellcode:
excel.ActiveWorkbook.SaveAs('C:\Users\Keks\Desktop\');
SaveAs will einen Dateinamen, nicht nur einen Pfad.

Delphi-Quellcode:
excel.ActiveWorkbook.SaveAs('C:\Users\Keks\Desktop\hoika_hats_druff.xls');

Heiko


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