2017-05-10 2 views
0

Gibt es eine Möglichkeit, eine Excel-Datei auf der Festplatte zu erstellen? Ich kann das typische NewBook.SaveAs nicht verwenden, weil mein Dokumentverwaltungssystem-Hook es ergreift, wenn ein SaveAs-Vorgang vorhanden ist. Ich kann jedoch ein Dokument auf der Festplatte öffnen und mit dem ursprünglichen Dateinamen speichern.Erstellen Sie eine Excel-Datei auf der Festplatte ohne "SaveAs"

Ich könnte ActiveWorkbook.Save verwenden, was ich brauche.

Danke.

+0

'SaveCopyAs'? Es würde helfen, etwas genauer zu erklären, was du machst. –

+1

Was ist mit dem Kopieren einer vorhandenen Datei mit der Anweisung [Name] (https://msdn.microsoft.com/de-de/library/office/gg264639.aspx), und dann öffnen Sie diese Datei, machen Sie Ihre Änderungen, und machen Sie die 'Arbeitsbuch.Speichern'? – tigeravatar

+0

"Immer wenn ein * speichern als Objekt vorhanden ist" - äh, "speichern unter" ist eine * Methode *, das * Objekt * ist 'Arbeitsmappe'. Möchten Sie Ihr "Dokumentenmanagementsystem" erweitern? Ist das ein 'Workbook_BeforeSave'-Ereignishandler auf Anwendungsebene (d. H. Ein Excel-Add-In)? Abgesehen davon ist es wie @tigeravatar sagte: Verwenden Sie die 'VBA.FileSystem' Modul-Mitglieder, um mit den Dateien direkt zu arbeiten, ohne durch das Excel-Objektmodell zu gehen. –

Antwort

0

Obwohl es unklar ist, was Sie (oder warum) zu tun versuchen, hier ist ein Hack, der nützlich sein könnte, da es nicht SaveAs oder SaveCopyAs (nicht sicher, ob sie ein Problem für Ihr DMS) nicht aufrufen:

Dim sPath$, sFileName$, newFileName$ 
sPath = "C:\Path\Where\You\Want\YourFileSaved\" 
sFileName = "MyExcelFile.xlsx" 
'The Worksheet.Copy method will create a new Excel file 
ActiveWorkbook.Worksheets(1).Copy 
'Specify the path where you'd like the file to be 
ChDir sPath 
'Saves the file with default name e.g., "Book2.xlsx", etc. 
ActiveWorkbook.Save 

'Rename the file if needed, first get the file's default name: 
newFileName = ActiveWorkbook.FullName 
'Close it so we can rename it 
ActiveWorkbook.Close 
'Rename it: 
Name newFileName As sFileName 
Verwandte Themen