juckie
Goto Top

Access Export Excel

Hallo zusammen,

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

Content-Key: 245749

Url: https://administrator.de/contentid/245749

Printed on: April 19, 2024 at 21:04 o'clock

Member: 06Down
06Down Aug 06, 2014 updated at 15:59:35 (UTC)
Goto Top
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:

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