Forums Neueste Beiträge
 

excel export. vorher aber Blatt(1) löschen

03/05/2010 - 11:36 von michlchen | Report spam
hallo ng.

ich möchte gerne einen excel export im access 2007 realisieren.
dazu habe ich folgenden code:

Function export_Warnliste()
ExportExcel "Warnliste"
End Function

Private Function ExportExcel(sTabname As String) As Long
Dim rs As DAO.Recordset
Dim datCreation As Date
Dim strPDC As String
Dim strDateiname As String
Dim Strausgabepfad As String

' aktuellen Pfad der Sortiments DB holen
Pfad_DB = Left(CurrentProject.Path, 3)
Strausgabepfad = Pfad_DB & "Daten\WHSE_ROW\00001_Analyse\Quelle\"


' Aus der Auswertetabelle Szenario und Creation-Date auslesen
Set rs = CurrentDb.OpenRecordset("SELECT * FROM " & sTabname)
If Not rs.EOF Then
strPDC = rs!PDC
datCreation = rs!ANA_DAT
End If
rs.Close
Set rs = Nothing

' Dateiname bilden
strDateiname = strPDC & "_warn_" & Year(datCreation) & "_" &
Month(datCreation)

If Dir(Strausgabepfad & strDateiname & ".xls", vbNormal) <> ""
Then
' hier soll er das Blatt(1) löschen. meinetwegen auch
Blatt("Warnliste") ohne Name wàr aber besser
End If

' Excel-Tabelle ausgeben
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9,
sTabname, Strausgabepfad & strDateiname & ".xls"
End Function


jetzt möchte ich gerne das Blatt(1) löschen, bevor ich die neuen Daten
einfüge. Hintergrund: es handelt sich um eine Exceldatei mit Makros
und die möchte ich nicht jedes mal nach dem Export wieder manuell
reinladen wollen. Daher wàre ein "leeren" der alten Datei am
sinnvollsten. Dann kann ich nach dem Öffnen gleich meine Makros
benutzen.

Danke für die Antworten.

PS: wie würde "DoCmd.TransferSpreadsheet acExport,
acSpreadsheetTypeExcel9, sTabname, Strausgabepfad & strDateiname &
".xls" " für Office 2007 aussehen? habe es schon mit der Endung
".xlsm" versucht und access bildet auch eine datei, aber irgendwie
konnte excel 2007 damit nichts anfangen.
 

Lesen sie die antworten

#1 michlchen
03/05/2010 - 12:31 | Warnen spam
    ' Dateiname bilden
    strDateiname = strPDC & "_warn_" & Year(datCreation) & "_" &
Month(datCreation)

jetzt möchte ich gerne das Blatt(1) löschen, bevor ich die neuen Daten
einfüge. Hintergrund: es handelt sich um eine Exceldatei mit Makros
und die möchte ich nicht jedes mal nach dem Export wieder manuell
reinladen wollen. Daher wàre ein "leeren" der alten Datei am
sinnvollsten. Dann kann ich nach dem Öffnen gleich meine Makros
benutzen.

Danke für die Antworten.




kurzer Nachtrag:

die bessere Variante wàre glaube ich, die TemplateDatei
"Warnliste.xls" als leere Datei im Ordner zu haben und dann einfach
als strDateiname [= strPDC & "_warn_" & Year(datCreation) & "_" &
Month(datCreation) ] abzuspeichern.

wie kann ich diese Templatedatei aus Access her öffnen und neu
abspeichern?

danke für die hinweise.

Ähnliche fragen