Autor Beitrag
jackle32
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 7

Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
BeitragVerfasst: Do 18.03.10 13: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 18.03.10 13:25 
Moin!

Ja, es gibt da einen Parameter, einfach mal ein Makro von Speichern als xls erstellen, dann siehst du das im VB Code. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
jackle32 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 7

Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
BeitragVerfasst: Do 18.03.10 13:36 
Hallo,


okay hier der Code aus dem Macro:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128
Erhaltene Danke: 1

WIN XP, WIN 7
Delphi 5 Ent, Delphi 2007 Pro, XE4
BeitragVerfasst: Do 18.03.10 14: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.
ausblenden Delphi-Quelltext
1:
ActiveWorkbook.SaveAs('C:\test.xls', xlExcel7, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);					
jackle32 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 7

Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
BeitragVerfasst: Fr 19.03.10 21: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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 7

Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
BeitragVerfasst: Sa 20.03.10 22:22 
Keiner eine Idee?

_________________
Es gibt keine dummen Fragen, nur dumme Antworten.
jackle32 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 7

Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
BeitragVerfasst: Mo 22.03.10 23: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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 806
Erhaltene Danke: 17

Win10
Delphi Alexandria 11.2 Patch 1
BeitragVerfasst: Di 23.03.10 10:09 
Wie sieht denn deine Codezeile denn jetzt genau aus? Ohne genauen Code kann man das schwerlich nachvollziehen.

Probier mal
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 7

Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
BeitragVerfasst: Di 23.03.10 13: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:

ausblenden 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.