Hallo,
ich habe eine Datenbank von Access97 nach Access2007 konvertiert. Im Zuge der DB-Verarbeitung werden u.a. Abfrageergebnisse in einzelne Excel-Dateien (Excel2002) geschrieben. Der dafür vorgesehene Befehl in der Sub lautet:
Um nach der Konvertierung die Dateien unter Excel2007 öffnen zu können, habe ich die Dateiendungen von *.xls auf *.xlsx geändert.
Die Dateien werden zwar von der Sub geschrieben, lassen sich aber nicht mit Excel2007 öffnen (Fehlermeldung: Dateiformat oder Dateierweiterung ungültig).
Es wäre schön, wenn mir jemand (für mich als VBA-Anfänger verständlich) einen Hinweis geben könnte, wie obige Befehlszeile anzupassen ist. Möglichst auch ohne die ganze Sub umbauen zu müssen.
mit Office 2007 hab ich noch nicht gearbeitet. Deshalb kann ich auch keine konkrete Antwort geben.
Die Anweisung scheint in Ordnung zu sein.
Was man tunlichst vermeiden soll, einfach Dateiendungen zu ändern. Damit änderst du nur den Namen und nicht das interne Format. ich vermute mal Office2007 arbeitet mit einem anderen Format.
Da ich vermute, dass 2007 auch abwärts kompatibel ist die Tabelle normal einlesen und im neuen Format wieder zu speichern.
Normalerweise wird das Format beibehalten, mit dem die Tabelle erzeugt wurde.
Hallo Kiter,
ich hab die Progarmmzeile wie von dir vorgeschlagen geändert, das Resultat bleibt aber leider dasselbe: Fehlermeldung: Dateiformat oder Dateierweiterung ungültig.
Carsten
Klappt denn ein manueller Export der Abfrage?
(Abfrage markieren, re. Mausklick, Export nach Excel)
Ja,
und auch der automatisierte Export mit der ursprünglichen Befehlszeile, wodurch zumindest eine lesbare Excel2000-Datei geschrieben wird, die ich dann mit Excel2007 weiterverarbeiten kann.
Wenn du noch eine Idee hast, wie ich trotzdem den direkten Export in eine Excel2007-Datei hinbekomme, wäre ich dankbar.
Ist jetzt zwar ein wenig „stochern im Dunkeln“ aber:
Wenn Du die Ausgabedatei mit neuem Namen versiehst, lässt Sie sich dann öffnen ? z.B. c:\test.xlsx
Vielleicht kannst Du mir mal die VBA-Zeile für den Export in Klarschrift senden.
ich habe die Ausgabedatei wie von dir vorgeschlagen in Test.xlsx umbenannt und den Export gestartet.
Beim Öffnen der Datei erscheint jetzt die Meldung: „Von Excel wurde unlesbarer Inhalt in ‚Test.xlsx‘ gefunden. Möchten Sie den Inhalt wiederherstellen?“
Nach dem Öffnen erscheint eine Infobox „Reparaturen“. In der angehängten Logdatei der Reparaturen ist folgendes angegeben:
d.h. du kannst die Tabelle nur im Reparaturmodus ansehen? (Gibt es hier die entsprechenden Inhalte, die vorher in deiner Access-Abfrage sichtbar waren?)
Das ist ein seltenens aber nicht unbekanntes Excel-Problem - ggf. hilft hier ein Excel-Update. ansonsten würde ich mal versuchten, aus der Abfrage eine Tabellenerstellungsabfrage zu machen und dann die Tabelle entsprechend nach Excel zu exportieren.
Anschließend (wenn erfolgreich), die Tabellenerstellungsabfrage in eine Anfügeabfrage umwandeln.
In der Prozedur für den Tabellenexport dann noch folgende Zeilen am Anfang:
currentdb.execute „delete * from tabellenname“
(das löscht den Tabelleninhalt alt)
docmd.openquery „Anfügeabfrage“, acViewNormal
(neubefüllen der Tabelle)
danach können dann die Exportfunktionen ausgeführt werden…
Genau, die Exceldatei wird mit dem Zusatz [Repariert] angezeigt. Die Angaben in der Datei sind soweit i.O.
Ich werde das Problem jetzt mit unserer IT besprechen, die sind immer dankbar für knifflige Fragen
Den Vorschlag mit der Tabellenerstellungsabfrage werde ich nicht verfolgen, da es noch ca. 20 weitere, zu exportierende Abfragen gibt, die ich dann ebenfalls umwandeln müsste.
Da ich mit Excel2000-Dateien erstmal leben kann, werde ich jetzt abwarten, wass den IT-Kollegen zur Problemlösung noch einfällt.
einer fällt mir noch ein: wenn doppelte Spaltennamen vergeben werden kann das Problem mit dem unlesbaren Inhalten auftreten. (z.B. 2 * „Artikelnummer“ in der Abfrage)