2017-05-10 38 views
0

有没有办法在磁盘上创建Excel文件?我无法使用典型的NewBook.SaveAs,因为我的文档管理系统钩子在存在SaveAs操作时抓取它。然而,我可以在磁盘上打开一个文档并用原始文件名保存。在没有“SaveAs”的情况下在磁盘上创建Excel文件

我可以用ActiveWorkbook.Save这就是我所需要的。

谢谢。

+0

'SaveCopyAs'?这将有助于更准确地解释你在做什么。 –

+1

如何使用[名称](https://msdn.microsoft.com/zh-cn/library/office/gg264639.aspx)语句复制现有文件,然后打开该文件,进行更改并执行'Workbook.Save'? – tigeravatar

+0

“,只要*另存为对象*” - 呃,“另存为”是*方法*,*对象*是“工作簿”。谨慎扩展你的“文件管理系统”?这是应用程序级别的Workbook_BeforeSave事件处理程序(即Excel加载项)吗?除此之外,就像@tigeravatar说的那样:使用'VBA.FileSystem'模块成员直接处理文件,而无需通过Excel对象模型。 –

回答

0

虽然目前还不清楚你想要做什么(为什么),这里是因为它不调用SaveAsSaveCopyAs(不知道后者是你的DMS有问题),可能是有用的一个黑客:

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 
相关问题