Transfer von Access-Abfrageergebnis nach Excel

Hallo,

ich habe eine DB aus Access97 in Access2007 konvertiert. Im Rahmen der Verarbeitung in der DB wurden bisher Abfrageergebnisse über eine Sub in Excel-Dateien (Excel2002) geschrieben. Die dafür vorgesehene Programmzeile lautet:

appAccess.DoCmd.TransferSpreadsheet acExport, 8, sExportTabelle, sExportDatei, True, „“

Nach der Konvertierung habe ich auch die Zieldateien mit der Endung *.xlsx (statt *.xls) für Excel2007 angegeben.

Wenn ich nun die Sub starte, wird zwar die Datei geschrieben, läßt sich aber nicht von Excel2007 öffnen (Fehlermeldung: Dateiformat oder Dateierweiterung ungültig).

Meine Frage lautet:
Wie muss ich obige Befehlszeile anpassen, um die Dateien unter Excel2007 zu erhalten?

Es wäre schön, wenn mir jemand einen (für mich als VBA-Anfänger verständlichen) Hinweis geben könnte, ohne dafür die komplette Sub umstellen zu müssen.

Carsten

Hallo,

ersetz die „8“ durch die passende Konstante für Ex2007 (welchen Wert die hat, kann ich jetzt nicht sagen. Sollest Du aber in der Konstantenanzeige der Intellisense-Hilfe im VBA-Editor herausfinden, bzw. Du kannst im Objektkatalog nachsehen )

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,
ich habe die ‚8‘ durch die Einträge ‚acSpreadsheetTypeExcel12Xml‘ und ‚acSpreadsheetTypeExcel12‘ aus der Konstantenanzeige ersetzt,
leider bleibt es bei beschriebenen Fehlermeldung.
Hast du noch eine andere Idee?

Grüße von der Weser
Carsten

Hallo,

mhmm, nein, kann es auch im Moment nicht nachprüfen.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

ich habe eine DB aus Access97 in Access2007 konvertiert.

oh Gott und das ist gut gegangen?

appAccess.DoCmd.TransferSpreadsheet acExport, 8,
sExportTabelle, sExportDatei, True, „“

appAccess kannst du dir sparen, das war früher mal notwendig.

Tipp: bewege den Cursor auf das Wort TransferSpreadsheet und drücke die Taste F1.

Nach der Konvertierung habe ich auch die Zieldateien mit der
Endung *.xlsx (statt *.xls) für Excel2007 angegeben.

das dürfte der Fehler sein, lese hier:

Access-Entwicklerreferenz
AcSpreadSheetType (Aufzählung)
Hiermit geben Sie zusammen mit der TransferSpreadsheet-Methode den Typ des Arbeitsblatts an, aus dem importiert, in das exportiert oder mit dem eine Verknüpfung hergestellt werden soll.

Name Wert Beschreibung 
acSpreadsheetTypeExcel3 0 Microsoft Excel 3.0-Format 
acSpreadsheetTypeExcel4 6 Microsoft Excel 4.0-Format 
acSpreadsheetTypeExcel5 5 Microsoft Excel 5.0-Format 
acSpreadsheetTypeExcel7 5 Microsoft Excel 95-Format 
acSpreadsheetTypeExcel8 8 Microsoft Excel 97-Format 
acSpreadsheetTypeExcel9 8 Microsoft Excel 2000-Format 
acSpreadsheetTypeLotusWJ2 4 Nur japanische Version 
acSpreadsheetTypeLotusWK1 2 Lotus 1-2-3 WK1-Format 
acSpreadsheetTypeLotusWK3 3 Lotus 1-2-3 WK3-Format 
acSpreadsheetTypeLotusWK4 7 Lotus 1-2-3 WK4-Format 

Es gibt keinen Transfertyp für Excel 2007!

Grüße aus Rostock
Wolfgang
(Netwolf)

Hi,
laut kommentar soll es ja gehen:

http://msdn.microsoft.com/en-us/library/bb225982%28v…

DoCmd.TransferSpreadsheet acExport, 10, sExportTabelle, sExportDatei, True, „“

Mangels office 2007 auf diesem Rechner kann ich es aber nicht ausprobieren.

Gruss
Joey