PDA

Vollständige Version anzeigen : xlApp.ActiveWorkbook.Save ohne Sicherungskopie


danielice
25.04.2011, 10:57
Hallo zusammen,

ich verzweiffle gerade am simplen Speichern einer xlsx-Datei aus Access heraus. :(

Ich erstelle eine xlsx Datei aus Access VBA heraus:

DoCmd.TransferSpreadsheet acExport, , ACTabOderAbfrage, ExcelDatNam, True


Danach starte ich eine Excel-Instanz und formatiere die Datei noch etwas um. Nach der Formatierung kommt der Save-Part, an dieser Stelle wird eine Sicherungskopie erstellt, die ich gar nicht haben will:

xlApp.ActiveWorkbook.Save


Nun hab ich im Forum gesucht und diesen Tipp gefunden:
xlBook.Save , , , , False

Aber damit bekomme ich nur einen Laufzeitfehler. Auch im Excel ist die automatische Sicherungskopie-Erstellung nicht eingestellt.

Hat noch jemand einen Tipp für mich, wie ich es vermeiden kann, dass eine Sicherungskopie von dem Excel-Sheet erstellt wird ?

Danke & Grüße
Daniel

ebs17
25.04.2011, 11:26
xlApp.ActiveWorkbook
xlBook
Beides muss nicht das Gleiche sein (je nach Deklarierung).

Probiere mal so etwas:
xlBook.Close True

danielice
25.04.2011, 12:43
leider nein, aktueller Code:
Dim ExcelDatNam As String
Dim ACTabOderAbfrage As String ' Name der Accesstabelle/-abfrage
Dim xlApp As Object ' Excel.Application
Dim xlBook As Object ' Excel.Workbook
Dim xlSheet As Object ' Excel.Worksheet
Dim Rng
' Definition der Excelkonstanten -> spart den Verweis auf MS Excel
Const xlRangeAutoFormatSimple = -4154

ExcelDatNam = "C:\meineDatei.xlsx"
ACTabOderAbfrage = "qry_MeineAbfrage"


' 1. Export
DoCmd.TransferSpreadsheet acExport, , ACTabOderAbfrage, ExcelDatNam, True
' 2. Formatierung
' On Error Resume Next
Set xlApp = CreateObject("Excel.Application")
' On Error GoTo 0
xlApp.Visible = True ' Zum Testen anzeigen
Set xlBook = xlApp.workbooks.Open(ExcelDatNam)
Set xlSheet = xlBook.Worksheets(ACTabOderAbfrage)
With xlSheet
' hier kommt der excel-formatierungskram

End With

xlBook.Close True
xlApp.Quit