| 
| Autor | Beitrag |  
| jackle32 
          Beiträge: 183
 Erhaltene Danke: 7
 
 Win7
 Delphi XE5 Starter, RAD Studio XE7 Pro
 
 | 
Verfasst: Do 18.03.10 12:22 
 
Hallo zusammen,
 ich bin gerade am erstellen eines kleinen Programms, dass als "Datenbank" ein Excelfile benutzt. Da ich auf meinem Entwicklungsrechner Office 2007 drauf hab, greift natürlich auch Delphi über die OLE Schnittstelle auf 2007 zu.
 
 Wie ich Dateien speichere ist klar (Excel.ActiveWorkbook.SaveAs(Dateiname)). Nur speichert mir Excel 2007 jetzt immer im ".xlsx" Format ab. Obwohl der Dateiname z.B. "test.xls" ist.
 
 Weiß jemand ob man dem SaveAs (und auch dem Save) einen Parameter mitgeben kann, um im "alten" .xls Format zu speichern?
 
 Gruß Jack
 _________________ Es gibt keine dummen Fragen, nur dumme Antworten.
 |  |  |  
| Narses 
          
  Beiträge: 10183
 Erhaltene Danke: 1256
 
 W10ent
 TP3 .. D7pro .. D10.2CE
 
 | 
Verfasst: Do 18.03.10 12:25 
 
Moin!
 Ja, es gibt da einen Parameter, einfach mal ein Makro von Speichern als xls erstellen, dann siehst du das im VB Code.      cu
 Narses_________________ There are 10 types of people - those who understand binary and those who don´t.
 |  |  |  
| jackle32  
          Beiträge: 183
 Erhaltene Danke: 7
 
 Win7
 Delphi XE5 Starter, RAD Studio XE7 Pro
 
 | 
Verfasst: Do 18.03.10 12:36 
 
Hallo,
 okay hier der Code aus dem Macro:
 		                       Quelltext 
 									| 1:2:
 3:
 4:
 
 | ActiveWorkbook.SaveAs Filename:= _"C:\Documents and Settings\tchristgau\Desktop\Book1.xls", FileFormat:= _
 xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
 , CreateBackup:=False
 |  Der Parameter ist also "xlExcel8". Wenn ich den aber als zweiten Parameter im SaveAs übergebe bekomm ich eine Fehlermeldung. Kennt jemand die genaue Reihenfolge der Parameter für die OLE Schnittstelle?
 Gruß Jack_________________ Es gibt keine dummen Fragen, nur dumme Antworten.
 |  |  |  
| Andreas Schilling 
          Beiträge: 128
 Erhaltene Danke: 1
 
 WIN XP, WIN 7
 Delphi 5 Ent, Delphi 2007 Pro, XE4
 
 | 
Verfasst: Do 18.03.10 13:27 
 
Quelletext und Fehlermeldung wären interessant. Da ich nur Excel2000 habe kennt das Saveas nur bis xlExcel7. Alle fehlenden Parameter mit emptyparam auffüllen. Getestet ist es nicht, aber beim Kompilieren gibt es keine Fehlermeldung.
 		                       Delphi-Quelltext 
 									| 1:
 | ActiveWorkbook.SaveAs('C:\test.xls', xlExcel7, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);					 |  |  |  |  
| jackle32  
          Beiträge: 183
 Erhaltene Danke: 7
 
 Win7
 Delphi XE5 Starter, RAD Studio XE7 Pro
 
 | 
Verfasst: Fr 19.03.10 20:35 
 
Hallo zusammen,
 also wenn ich den Code wie oben eingebe findet er "xlExcel7" nicht. Ich hab mal eine Tabelle gefunden, in der diesen Platzhaltern eine Nummer zugeordnet ist. Wenn ich dann die Nummer reinschreibe, bekomm ich immer einen Fehler von der SaveAs funktion. (Text: Project XXX.exe raised exception class EOleException with message 'SaveAs method of Workbook class failed'. Process stopped. Use Step or Run to continue).
 
 Gruß,
 
 Jack
 _________________ Es gibt keine dummen Fragen, nur dumme Antworten.
 |  |  |  
| jackle32  
          Beiträge: 183
 Erhaltene Danke: 7
 
 Win7
 Delphi XE5 Starter, RAD Studio XE7 Pro
 
 | 
Verfasst: Sa 20.03.10 21:22 
 
Keiner eine Idee? _________________ Es gibt keine dummen Fragen, nur dumme Antworten.
 |  |  |  
| jackle32  
          Beiträge: 183
 Erhaltene Danke: 7
 
 Win7
 Delphi XE5 Starter, RAD Studio XE7 Pro
 
 | 
Verfasst: Mo 22.03.10 22:45 
 
Nochmal ein Anlauf vielleicht ist ja jetzt jemand da der sich damit auskennt.
 Grüße,
 
 Jack
 _________________ Es gibt keine dummen Fragen, nur dumme Antworten.
 |  |  |  
| JoelH 
          Beiträge: 806
 Erhaltene Danke: 17
 
 Win10
 Delphi Alexandria 11.2 Patch 1
 
 | 
Verfasst: Di 23.03.10 09:09 
 
Wie sieht denn deine Codezeile denn jetzt genau aus? Ohne genauen Code kann man das schwerlich nachvollziehen.
 Probier mal
 		                       Delphi-Quelltext 
 									| 1:
 |   ActiveWorkbook.SaveAs ('C:\Documents and Settings\tchristgau\Desktop\Book1.xls', 56, '', '', False ,False)					 |  siehe dazu 
www.rondebruin.nl/saveas.htm_________________ mfg. Joel
 |  |  |  
| jackle32  
          Beiträge: 183
 Erhaltene Danke: 7
 
 Win7
 Delphi XE5 Starter, RAD Studio XE7 Pro
 
 | 
Verfasst: Di 23.03.10 12:43 
 
Okay,
 56 war der richtige Wert, hatte vorher von einer anderen Quelle eine Wert von 43. 
 Besten Dank!
 Gruß Jack
 P.S.
 Meine momentan entgültige Version sieht so aus:
 		                       Delphi-Quelltext 
 									| 1:
 | ActiveWorkbook.SaveAs('C:\test.xls', 56, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);					 | _________________ Es gibt keine dummen Fragen, nur dumme Antworten.
 |  |  |  |