Access Export Excel
Hallo zusammen,
vorweg: Meine VBA Kenntnisse sind recht Bescheiden, daher habe ich grad folgendes Problem:
Mit der Funkton
kann ich Daten von Access nach Excel exportieren, was soweit auch wunderbar funktioniert.
Mache ich das gaze auf Basis einer Vorlage für Excel in dem bereits der Name des Tabellenblatt hinterlegt ist, wird in der Exceldatei ein neues Tabellenblatt erzeugt und die Daten dorthin importiert. Hierzu der Auszug des relevanten Teils aus dem Code:
Kann mir jemand sagen, warum die TransferSpreadsheet - Funktion bei Verwendung einer Vorlage nicht funktioniert? Zu Testzwecken habe ich auch schon eine leere Exceltabelle als Vorlage abgespeichert, hat aber auch nichts gebracht.
Vielen Dank für eure Hilfe.
Gruß
Juckie
vorweg: Meine VBA Kenntnisse sind recht Bescheiden, daher habe ich grad folgendes Problem:
Mit der Funkton
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, acTabName, xlDateiname, True
kann ich Daten von Access nach Excel exportieren, was soweit auch wunderbar funktioniert.
Mache ich das gaze auf Basis einer Vorlage für Excel in dem bereits der Name des Tabellenblatt hinterlegt ist, wird in der Exceldatei ein neues Tabellenblatt erzeugt und die Daten dorthin importiert. Hierzu der Auszug des relevanten Teils aus dem Code:
Dim xlDateiname As String
Dim xlVorlage As String
Dim xlDatei As Object
xlDateiname = "c:\temp\tabelle.xlsx"
xlVorlage = "c:\temp\Vorlage.xltx"
Set xlDatei = xlApp.Workbooks.Open(xlVorlage)
xlDatei.SaveAs xlDateiname, FileFormat:=xlOpenXMLWorkbook
xlDatei.Application.Quit
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, acTabName, xlDateiname, True
Kann mir jemand sagen, warum die TransferSpreadsheet - Funktion bei Verwendung einer Vorlage nicht funktioniert? Zu Testzwecken habe ich auch schon eine leere Exceltabelle als Vorlage abgespeichert, hat aber auch nichts gebracht.
Vielen Dank für eure Hilfe.
Gruß
Juckie
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245749
Url: https://administrator.de/contentid/245749
Ausgedruckt am: 25.11.2024 um 12:11 Uhr
1 Kommentar
Hi,
folgender Link dürfte Dir alle Infos geben die Du brauchst:
http://www.office-loesung.de/ftopic361989_0_0_asc.php
Ich nehme die Kernaussage trotzdem schon einmal vorweg:
DoCmd.TransferSpreadsheet erzeugt immer ein neues Tabellenblatt.
Edit:
Wenn es nur um den Namen des Tabellenblatts geht würde ich wie folgt vorgehen:
Viele Grüße
Jens
folgender Link dürfte Dir alle Infos geben die Du brauchst:
http://www.office-loesung.de/ftopic361989_0_0_asc.php
Ich nehme die Kernaussage trotzdem schon einmal vorweg:
DoCmd.TransferSpreadsheet erzeugt immer ein neues Tabellenblatt.
Edit:
Wenn es nur um den Namen des Tabellenblatts geht würde ich wie folgt vorgehen:
Dim xlDateiname As String
Dim xlDatei As Object
xlDateiname = "c:\temp\tabelle.xlsx"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, acTabName, xlDateiname, True
Set xlDatei = xlApp.Workbooks.Open(xlDateiname )
xlDatei.Sheets(1).Name = "DeinName"
xlDatei.Save
xlDatei.Close
xlApp.Quit
Set xlDatei = Nothing
Set xlApp = Nothing
Viele Grüße
Jens